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])
