vuecore.schemas.basic.scatter module#

class vuecore.schemas.basic.scatter.ScatterConfig(*, x: str | None = None, y: str | None = None, color: str | None = None, hover_name: str | None = None, hover_data: List[str] = [], facet_row: str | None = None, facet_col: str | None = None, labels: Dict[str, str] | None = None, color_discrete_map: Dict[str, str] | None = None, category_orders: Dict[str, List[str]] | None = None, log_x: bool = False, log_y: bool = False, range_x: List[float] | None = None, range_y: List[float] | None = None, title: str = 'Plotly Plot', x_title: str | None = None, y_title: str | None = None, subtitle: str | None = None, template: str = 'plotly_white', width: int | None = 800, height: int | None = 600, symbol: str | None = None, size: str | None = None, text: str | None = None, error_x: str | None = None, error_y: str | None = None, symbol_map: Dict[str, str] | None = None, size_max: int = 20, opacity: float = 0.8, trendline: str | None = None, trendline_options: Dict | None = None, marker_line_width: Annotated[float, Ge(ge=0)] = 0.5, marker_line_color: str = 'DarkSlateGrey', color_by_density: bool = False, **extra_data: Any)[source]#

Bases: PlotlyBaseConfig

Pydantic model for validating and managing scatter plot configurations.

This model serves as a curated API for the most relevant parameters for scatter plots, closely aligned with the plotly.express.scatter API (https://plotly.com/python-api-reference/generated/plotly.express.scatter.html).

This model includes the most relevant parameters for data mapping, styling, and layout. It ensures that user-provided configurations are type-safe and adhere to the expected structure. The plotting function handles parameters defined here, and also accepts additional Plotly keyword arguments, forwarding them to the appropriate plotly.express.scatter or plotly.graph_objects.Figure call.

attribute symbol: str | None = None#

Column to assign marker symbols.

attribute size: str | None = None#

Column to determine marker size.

attribute text: str | None = None#

Column for text labels on markers.

attribute error_x: str | None = None#

Column for x-axis error bars.

attribute error_y: str | None = None#

Column for y-axis error bars.

attribute symbol_map: Dict[str, str] | None = None#

Specific symbol mappings for symbol column values.

attribute size_max: int = 20#

Maximum size for markers.

attribute opacity: float = 0.8#

Overall opacity of markers.

attribute trendline: str | None = None#

Trendline type (ols/lowess/rolling/expanding/ewm).

attribute trendline_options: Dict | None = None#

Advanced options for trendline configuration.

attribute marker_line_width: float = 0.5#

Width of marker border lines.

Constraints:
  • ge = 0

attribute marker_line_color: str = 'DarkSlateGrey'#

Color of marker border lines.

attribute color_by_density: bool = False#

Color points by density instead of category.

validator validate_exclusive_color_options  »  all fields[source]#
validator validate_x_or_y_provided  »  all fields#

Ensure at least one of x or y is provided for the plot.

attribute x: str | None = None#

Column for x-axis values.

attribute y: str | None = None#

Column for y-axis values.

attribute color: str | None = None#

Column to assign color to plot elements.

attribute hover_name: str | None = None#

Column to appear in bold in the hover tooltip.

attribute hover_data: List[str] = []#

Additional columns for the hover tooltip.

attribute facet_row: str | None = None#

Column to create vertical subplots (facets).

attribute facet_col: str | None = None#

Column to create horizontal subplots (facets).

attribute labels: Dict[str, str] | None = None#

Dictionary to override column names for titles, legends, etc.

attribute color_discrete_map: Dict[str, str] | None = None#

Specific color mappings for values in the color column.

attribute category_orders: Dict[str, List[str]] | None = None#

Dictionary to specify the order of categorical values.

attribute log_x: bool = False#

If True, use a logarithmic x-axis.

attribute log_y: bool = False#

If True, use a logarithmic y-axis.

attribute range_x: List[float] | None = None#

Range for the x-axis, e.g., [0, 100].

attribute range_y: List[float] | None = None#

Range for the y-axis, e.g., [0, 100].

attribute title: str = 'Plotly Plot'#

The main title of the plot.

attribute x_title: str | None = None#

Custom title for the x-axis.

attribute y_title: str | None = None#

Custom title for the y-axis.

attribute subtitle: str | None = None#

The subtitle of the plot.

attribute template: str = 'plotly_white'#

Plotly template for styling.

attribute width: int | None = 800#

Width of the plot in pixels.

attribute height: int | None = 600#

Height of the plot in pixels.