Important: The following API methods are currently not published and are subject to change in future versions of Ansys Mechanical.
The following examples examine how you can change the display of given Line Chart datasets, perform operations on datasets, as well as import, export, and filter datasets.
Example 1: Create ChartVariable and Dataset2D Objects and Display Chart
This API creates data using the variable ChartVariable, plots the data, and displays it as a chart titled "Straight Line" as shown.
import Ansys.Mechanical.DataModel.Utilities as a
chart = Tree.FirstActiveObject
var1 = a.ChartVariable([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "m", "Length")
var2 = a.ChartVariable([1010, 2011, 3012, 4013, 5014, 6015, 7016, 8017, 9018, 10019, 11020])
ds1 = a.Dataset2D("Straight Line", var1, var2)
chart.Update([ds1])

Example 2: Change the Display Options for a Dataset
This API changes the display of the plotted data from the previous example.
import Ansys.Mechanical.DataModel.Utilities as a
chart = Tree.FirstActiveObject
var1 = a.ChartVariable([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "m", "Length")
var2 = a.ChartVariable([1010, 2011, 3012, 4013, 5014, 6015, 7016, 8017, 9018, 10019, 11020])
ds1 = a.Dataset2D("straight line", var1, var2)
disp_opts1 = a.Dataset2DDisplayOptions()
disp_opts1.LineType = Chart2DDatasetLineType.LinesAndMarkers
disp_opts1.Color = Chart2DDatasetColor.Blue
disp_opts1.LineThickness = 4
disp_opts1.ChangeMarkerShape = Chart2DDatasetMarkerShape.Square
disp_opts1.MarkerSize = 15
ds1.DisplayOptions = disp_opts1

Example 3: Perform an Operation to Create a New Dataset
This API performs an operation on a given dataset to generate a new dataset.
import Ansys.Mechanical.DataModel.Utilities as a
chart = Tree.FirstActiveObject
var1 = a.ChartVariable([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "m", "Length")
var2 = a.ChartVariable([1010, 2011, 3012, 4013, 5014, 6015, 7016, 8017, 9018, 10019, 11020])
ds1 = a.Dataset2D("Straight Line", var1, var2)
ds2 = a.ChartOperations.Integration(ds1)
disp1 = a.Dataset2DDisplayOptions(datasetColor = Chart2DDatasetColor.Blue)
ds2.DisplayOptions = disp1
chart.Update([ds1, ds2])Note: The chart.Update([]) method accepts any number of datasets.

Example 4: Import Data from a Tree Object
This API imports data from an existing tree object to create a dataset.
import Ansys.Mechanical.DataModel.Utilities as a
chart = Tree.FirstActiveObject
he_obj = DataModel.GetObjectsByName("Hourglass Energy")[0]
dataset_collection = chart.ImportFromObjects([he_obj])
chart.Update(dataset_collection)

Example 5: Import Data from a Text File
This API imports data from a text file to create a dataset.
import Ansys.Mechanical.DataModel.Utilities as a chart = Tree.FirstActiveObject ds_imp = a.Dataset2D() ds_imp.ImportFromFile(r"C:/chartdata.txt") chart.Update([ds_imp])

Example 6: Export Data to a Text File
This API exports a dataset to a text file.
import Ansys.Mechanical.DataModel.Utilities as a
chart = Tree.FirstActiveObject
var1 = a.ChartVariable([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "m", "Length")
var2 = a.ChartVariable([1010, 2011, 3012, 4013, 5014, 6015, 7016, 8017, 9018, 10019, 11020])
ds1 = a.Dataset2D("straight line", var1, var2)
ds1.ExportToFile(r"C:/dataset.txt")Example 7: Filter a Dataset
This API filters a dataset to create a new dataset.
import Ansys.Mechanical.DataModel.Utilities as a chart = Tree.FirstActiveObject ds_imp = a.Dataset2D() ds_imp.ImportFromFile(r"C:/chartdata.txt") ds_fil = a.ChartFilters.Butterworth(ds_imp, 120) ds_fil.DisplayOptions = a.Dataset2DDisplayOptions(datasetColor = Chart2DDatasetColor.Blue) chart.Update([ds_imp, ds_fil])
Note: Each filter comes with its own requirements of input parameters, such as Cutoff Frequency for Butterworth.

Example 8: Display Multiple Curves with Numerous Display Options
This API displays multiple curves with a variety of display options.
import math
import Ansys.Mechanical.DataModel.Utilities as a
chart = Tree.FirstActiveObject
COUNT = 200
CYCLES = 5
n_vals = list(range(COUNT))
scales = [n / float(COUNT) for n in n_vals]
angles = [n * (CYCLES * 2 * math.pi) / float(COUNT) for n in n_vals]
var_a = a.ChartVariable(angles, 'rad', 'Angle')
var_1 = a.ChartVariable([math.cos(ang) for ang in angles])
var_2 = a.ChartVariable([-math.cos(ang) for ang in angles])
var_3 = a.ChartVariable([s * math.cos(ang) for s, ang in zip(scales, angles)])
var_4 = a.ChartVariable([-s * math.cos(ang) for s, ang in zip(scales, angles)])
ds1 = a.Dataset2D("Cosine Curve", var_a, var_1)
disp1 = a.Dataset2DDisplayOptions()
disp1.LineType = Chart2DDatasetLineType.LinesAndMarkers
disp1.Color = Chart2DDatasetColor.Red
disp1.LineThickness = 3.0
disp1.MarkerShape = Chart2DDatasetMarkerShape.Triangle
disp1.MarkerSize = 10
ds1.DisplayOptions = disp1
ds2 = a.Dataset2D("Neg Cosine Curve", var_a, var_2)
disp2 = a.Dataset2DDisplayOptions()
disp2.LineType = Chart2DDatasetLineType.MarkersOnly
disp2.Color = Chart2DDatasetColor.Green
disp2.MarkerShape = Chart2DDatasetMarkerShape.Square
disp2.MarkerSize = 5
ds2.DisplayOptions = disp2
ds3 = a.Dataset2D("Ramped Cosine Curve", var_a, var_3)
disp3 = a.Dataset2DDisplayOptions()
disp3.LineType = Chart2DDatasetLineType.LinesOnly
disp3.Color = Chart2DDatasetColor.Blue
disp3.LineThickness = 5.0
ds3.DisplayOptions = disp3
ds4 = a.Dataset2D("Ramped Neg Cosine Curve", var_a, var_4)
disp4 = a.Dataset2DDisplayOptions()
disp4.LineType = Chart2DDatasetLineType.LinesAndMarkers
disp4.Color = Chart2DDatasetColor.Yellow
disp4.LineThickness = 10.0
disp4.MarkerShape = Chart2DDatasetMarkerShape.PointStyleX
disp4.MarkerSize = 10
ds4.DisplayOptions = disp4
chart.Update([ds1,ds2,ds3,ds4])
