flow360.report.Chart2D#
- class Chart2D#
Bases:
BaseChart2D
Represents 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"), ... )
- x: DataItem | Delta | str [Required]#
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] [Required]#
The data source for the y-axis, which can be a string path, ‘DataItem’, a ‘Delta’ object or their list.
- group_by: str | Grouper | None = Grouper(group_by=[None], buckets=[None])#
A grouper object or a string leading to the data by which the grouping should be done.
- include: Annotated[List[str], Field(deprecated='Include and exclude are deprecated as Chart2D options, use DataItem instead.')] | None = None#
List of boundaries to include in data. Applicable to: x_slicing_force_distribution, y_slicing_force_distribution, surface_forces.
- exclude: Annotated[List[str], Field(deprecated='Include and exclude are deprecated as Chart2D options, use DataItem instead.')] | None = None#
List of boundaries to exclude from data. Applicable to: x_slicing_force_distribution, y_slicing_force_distribution, surface_forces.
- background: Literal['geometry'] | None = None#
Background type for the chart; set to “geometry” or None. Defaults to
None
.
- type_name: Literal['Chart2D'] = 'Chart2D'#
- 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
- operations: List[OperationTypes] | OperationTypes | None = None#
List of operations to perform on the data.
- focus_x: Optional[Annotated[Tuple[float, float], Field(deprecated='focus_x is deprecated, your input was converted to a corresponding SubsetLimit. ' + 'Please use ylim=SubsetLimit instead in the future.')]] = None#
- xlim: ManualLimit | Tuple[float, float] | None = None#
Defines the range of x values that will be displayed on the chart.
- ylim: ManualLimit | SubsetLimit | FixedRangeLimit | Tuple[float, float] | None = None#
Defines the range of y values that will be displayed on the chart. This helps with highlighting a desired portion of the chart.
- fig_name: FileNameStr | None = None#
Name of the figure file or identifier for the chart (). Only ‘^[a-zA-Z0-9._-]+$’ allowed.
- caption: str | List[str] | PatternCaption | None = ''#
Caption to be shown for figures.