report.Chart2D#
- class Chart2D#
Bases:
BaseChart2DRepresents a 2D chart within a report, plotting x and y data.
Example
Create a chart of CL for an alpha sweep case, different turbulence models
>>> Chart2D( ... x="params/operating_condition/beta", ... y=DataItem(data="total_forces/CL", operations=[Average(fraction=0.1)]), ... section_title="CL vs alpha", ... fig_name="cl_vs_alpha", ... group_by=Grouper(group_by="params/models/Fluid/turbulence_model_solver/type_name"), ... )
Attributes
- fig_name: str, optional#
Name of the figure file or identifier for the chart (). Only ‘^[a-zA-Z0-9._-]+$’ allowed.
- Default:
None
- items_in_row: int, optional#
Number of items to display in a row within the chart section.
- Default:
None
- separate_plots: bool, optional#
If True, display as multiple plots; otherwise single plot.
- Default:
None
- caption: str | list[str] | PatternCaption, optional#
Caption to be shown for figures.
- Default:
''
- operations: list[Average | Expression | GetAttribute] | Average | Expression | GetAttribute, optional#
List of operations to perform on the data.
- Default:
None
- xlim: ManualLimit | tuple[float, float], optional#
Defines the range of x values that will be displayed on the chart.
- Default:
None
- ylim: ManualLimit | SubsetLimit | FixedRangeLimit | tuple[float, float], optional#
Defines the range of y values that will be displayed on the chart. This helps with highlighting a desired portion of the chart.
- Default:
None
- x: DataItem | Delta | str#
The data source for the x-axis, which can be a string path, ‘DataItem’, a ‘Delta’ object.
- y: DataItem | Delta | str | list[DataItem] | list[Delta] | list[str]#
The data source for the y-axis, which can be a string path, ‘DataItem’, a ‘Delta’ object or their list.
- group_by: str | Grouper, optional#
A grouper object or a string leading to the data by which the grouping should be done.
- Default:
Grouper()
- include: list[str], optional#
List of boundaries to include in data. Applicable to: x_slicing_force_distribution, y_slicing_force_distribution, surface_forces.
- Default:
None
- exclude: list[str], optional#
List of boundaries to exclude from data. Applicable to: x_slicing_force_distribution, y_slicing_force_distribution, surface_forces.
- Default:
None
- background: Literal['geometry'], optional#
Background type for the chart; set to “geometry” or None. Defaults to
None.- Default:
None
Additional Constructors
- classmethod from_file(filename)#
Loads a
Flow360BaseModelfrom .json, or .yaml file.- Parameters:
filename (str) – Full path to the .yaml or .json file to load the
Flow360BaseModelfrom.- Returns:
An instance of the component class calling load.
- Return type:
Flow360BaseModel
Example
>>> params = Flow360BaseModel.from_file(filename='folder/sim.json')
Methods
- get_requirements()#
Returns requirements for this item.
- get_data(cases, context)#
Loads and processes data for creating a 2D plot model.
- Parameters:
cases (List[Case]) – A list of simulation cases to extract data from.
context (ReportContext) – The report context providing additional configuration and case-specific data.
- Returns:
A PlotModel instance containing the processed x and y data, axis labels, legend, and optional background image for plotting.
- Return type:
PlotModel
Notes
Handles data with physical units and ensures dimensional consistency.
Supports optional background images for geometry-related plots.
Automatically determines y-axis limits if focus_x is specified.
Examples
>>> chart = Chart2D( ... x="x_slicing_force_distribution/X", ... y="x_slicing_force_distribution/totalCumulative_CD_Curve", ... background="geometry" ... ) >>> plot_model = chart.get_data(cases, context) >>> fig = plot_model.get_plot() >>> fig.show()
- get_doc_item(context, settings=None)#
Returns doc item for chart.
- Parameters:
context (ReportContext)
settings (Settings | None)
- Return type:
None
- help(methods=False)#
Prints message describing the fields and methods of a
Flow360BaseModel.- Parameters:
methods (bool = False) – Whether to also print out information about object’s methods.
- Return type:
None
Example
>>> params.help(methods=True)