gemseo / post / dataset

Hide inherited members

plot_settings module

Data for a plot.

class gemseo.post.dataset.plot_settings.PlotSettings(*, color='', colormap='rainbow', fig_size=(6.4, 4.8), font_size=10, legend_location='best', linestyle='', marker='', xtick_rotation=0.0, title='', xlabel='', xmin=None, xmax=None, ylabel='', ymin=None, ymax=None, zlabel='', zmin=None, zmax=None, rmin=None, rmax=None, labels=None, n_items=0, grid=True)[source]

Bases: BaseModel

The settings of a plot.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • color (str | list[str]) –

    By default it is set to “”.

  • colormap (str) –

    By default it is set to “rainbow”.

  • fig_size (tuple[float, float]) –

    By default it is set to (6.4, 4.8).

  • font_size (int) –

    By default it is set to 10.

  • legend_location (str) –

    By default it is set to “best”.

  • linestyle (str | Sequence[str]) –

    By default it is set to “”.

  • marker (str | Sequence[str]) –

    By default it is set to “”.

  • xtick_rotation (float) –

    By default it is set to 0.0.

  • title (str) –

    By default it is set to “”.

  • xlabel (str) –

    By default it is set to “”.

  • xmin (float | None) –

  • xmax (float | None) –

  • ylabel (str) –

    By default it is set to “”.

  • ymin (float | None) –

  • ymax (float | None) –

  • zlabel (str) –

    By default it is set to “”.

  • zmin (float | None) –

  • zmax (float | None) –

  • rmin (float | None) –

  • rmax (float | None) –

  • labels (Mapping[str, str]) –

  • n_items (int) –

    By default it is set to 0.

  • grid (bool) –

    By default it is set to True.

classmethod construct(_fields_set=None, **values)
Parameters:
  • _fields_set (set[str] | None) –

  • values (Any) –

Return type:

Model

copy(*, include=None, exclude=None, update=None, deep=False)

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include (AbstractSetIntStr | MappingIntStrAny | None) – Optional set or mapping specifying which fields to include in the copied model.

  • exclude (AbstractSetIntStr | MappingIntStrAny | None) – Optional set or mapping specifying which fields to exclude in the copied model.

  • update (Dict[str, Any] | None) – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep (bool) –

    If True, the values of fields that are Pydantic models will be deep-copied.

    By default it is set to False.

  • self (Model) –

Returns:

A copy of the model with included, excluded and updated fields as specified.

Return type:

Model

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)
Parameters:
  • include (IncEx) –

  • exclude (IncEx) –

  • by_alias (bool) –

    By default it is set to False.

  • exclude_unset (bool) –

    By default it is set to False.

  • exclude_defaults (bool) –

    By default it is set to False.

  • exclude_none (bool) –

    By default it is set to False.

Return type:

Dict[str, Any]

classmethod from_orm(obj)
Parameters:

obj (Any) –

Return type:

Model

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)
Parameters:
  • include (IncEx) –

  • exclude (IncEx) –

  • by_alias (bool) –

    By default it is set to False.

  • exclude_unset (bool) –

    By default it is set to False.

  • exclude_defaults (bool) –

    By default it is set to False.

  • exclude_none (bool) –

    By default it is set to False.

  • encoder (Callable[[Any], Any] | None) –

    By default it is set to PydanticUndefined.

  • models_as_dict (bool) –

    By default it is set to PydanticUndefined.

  • dumps_kwargs (Any) –

Return type:

str

classmethod model_construct(_fields_set=None, **values)

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

Parameters:
  • _fields_set (set[str] | None) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Returns:

A new instance of the Model class with validated data.

Return type:

Model

model_copy(*, update=None, deep=False)

Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (dict[str, Any] | None) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) –

    Set to True to make a deep copy of the model.

    By default it is set to False.

  • self (Model) –

Returns:

New model instance.

Return type:

Model

model_dump(*, mode='python', include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True)

Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Literal['json', 'python'] | str) –

    The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

    By default it is set to “python”.

  • include (IncEx) – A list of fields to include in the output.

  • exclude (IncEx) – A list of fields to exclude from the output.

  • by_alias (bool) –

    Whether to use the field’s alias in the dictionary key if defined.

    By default it is set to False.

  • exclude_unset (bool) –

    Whether to exclude fields that have not been explicitly set.

    By default it is set to False.

  • exclude_defaults (bool) –

    Whether to exclude fields that are set to their default value.

    By default it is set to False.

  • exclude_none (bool) –

    Whether to exclude fields that have a value of None.

    By default it is set to False.

  • round_trip (bool) –

    If True, dumped values should be valid as input for non-idempotent types such as Json[T].

    By default it is set to False.

  • warnings (bool) –

    Whether to log warnings when invalid fields are encountered.

    By default it is set to True.

Returns:

A dictionary representation of the model.

Return type:

dict[str, Any]

model_dump_json(*, indent=None, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True)

Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (int | None) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (IncEx) – Field(s) to include in the JSON output.

  • exclude (IncEx) – Field(s) to exclude from the JSON output.

  • by_alias (bool) –

    Whether to serialize using field aliases.

    By default it is set to False.

  • exclude_unset (bool) –

    Whether to exclude fields that have not been explicitly set.

    By default it is set to False.

  • exclude_defaults (bool) –

    Whether to exclude fields that are set to their default value.

    By default it is set to False.

  • exclude_none (bool) –

    Whether to exclude fields that have a value of None.

    By default it is set to False.

  • round_trip (bool) –

    If True, dumped values should be valid as input for non-idempotent types such as Json[T].

    By default it is set to False.

  • warnings (bool) –

    Whether to log warnings when invalid fields are encountered.

    By default it is set to True.

Returns:

A JSON string representation of the model.

Return type:

str

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) –

    Whether to use attribute aliases or not.

    By default it is set to True.

  • ref_template (str) –

    The reference template.

    By default it is set to “#/$defs/{model}”.

  • schema_generator (type[GenerateJsonSchema]) –

    To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

    By default it is set to <class ‘pydantic.json_schema.GenerateJsonSchema’>.

  • mode (typing_extensions.Literal[validation, serialization]) –

    The mode in which to generate the schema.

    By default it is set to “validation”.

Returns:

The JSON schema for the given model class.

Return type:

dict[str, Any]

classmethod model_parametrized_name(params)

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

Return type:

str

model_post_init(_BaseModel__context)

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Parameters:

_BaseModel__context (Any) –

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) –

    Whether to force the rebuilding of the model schema, defaults to False.

    By default it is set to False.

  • raise_errors (bool) –

    Whether to raise errors, defaults to True.

    By default it is set to True.

  • _parent_namespace_depth (int) –

    The depth level of the parent namespace, defaults to 2.

    By default it is set to 2.

  • _types_namespace (dict[str, Any] | None) – The types namespace, defaults to None.

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

Return type:

bool | None

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (bool | None) – Whether to enforce types strictly.

  • from_attributes (bool | None) – Whether to extract data from object attributes.

  • context (dict[str, Any] | None) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Returns:

The validated model instance.

Return type:

Model

classmethod model_validate_json(json_data, *, strict=None, context=None)

Usage docs: https://docs.pydantic.dev/2.6/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (bool | None) – Whether to enforce types strictly.

  • context (dict[str, Any] | None) – Extra variables to pass to the validator.

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

Return type:

Model

classmethod model_validate_strings(obj, *, strict=None, context=None)

Validate the given object contains string data against the Pydantic model.

Parameters:
  • obj (Any) – The object contains string data to validate.

  • strict (bool | None) – Whether to enforce types strictly.

  • context (dict[str, Any] | None) – Extra variables to pass to the validator.

Returns:

The validated Pydantic model.

Return type:

Model

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)
Parameters:
  • path (str | Path) –

  • content_type (str | None) –

  • encoding (str) –

    By default it is set to “utf8”.

  • proto (DeprecatedParseProtocol | None) –

  • allow_pickle (bool) –

    By default it is set to False.

Return type:

Model

classmethod parse_obj(obj)
Parameters:

obj (Any) –

Return type:

Model

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)
Parameters:
  • b (str | bytes) –

  • content_type (str | None) –

  • encoding (str) –

    By default it is set to “utf8”.

  • proto (DeprecatedParseProtocol | None) –

  • allow_pickle (bool) –

    By default it is set to False.

Return type:

Model

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')
Parameters:
  • by_alias (bool) –

    By default it is set to True.

  • ref_template (str) –

    By default it is set to “#/$defs/{model}”.

Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)
Parameters:
  • by_alias (bool) –

    By default it is set to True.

  • ref_template (str) –

    By default it is set to “#/$defs/{model}”.

  • dumps_kwargs (Any) –

Return type:

str

set_colors(color)[source]

Set one color per item if n_items is non-zero or a unique one.

Parameters:

color (str | list[str]) – The color(s).

Return type:

None

set_linestyles(linestyle)[source]

Set the line style(s) if n_items is non-zero or a unique one.

Parameters:

linestyle (str | Sequence[str]) – The line style(s).

Return type:

None

set_markers(marker)[source]

Set the marker(s) if n_items is non-zero or a unique one.

Parameters:

marker (str | Sequence[str]) – The marker(s).

Return type:

None

classmethod update_forward_refs(**localns)
Parameters:

localns (Any) –

Return type:

None

classmethod validate(value)
Parameters:

value (Any) –

Return type:

Model

color: str | list[str]

The color.

Either a global one or one per item if n_items is non-zero.

If empty, use a default one.

colormap: str

The color map.

fig_size: tuple[float, float]

The figure size.

font_size: int

The font size.

grid: bool

Whether to add a grid.

labels: Mapping[str, str]

The labels for the variables.

legend_location: str

The location of the legend.

linestyle: str | Sequence[str]

The line style.

Either a global one or one per item if n_items is non-zero.

If empty, use a default one.

marker: str | Sequence[str]

The marker.

Either a global one or one per item if n_items is non-zero. If empty, use a default one.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property model_extra: dict[str, Any] | None

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to “allow”.

model_fields: ClassVar[dict[str, FieldInfo]] = {'color': FieldInfo(annotation=Union[str, list[str]], required=False, default=''), 'colormap': FieldInfo(annotation=str, required=False, default='rainbow'), 'fig_size': FieldInfo(annotation=tuple[float, float], required=False, default=(6.4, 4.8)), 'font_size': FieldInfo(annotation=int, required=False, default=10), 'grid': FieldInfo(annotation=bool, required=False, default=True), 'labels': FieldInfo(annotation=Mapping[str, str], required=False, default_factory=dict), 'legend_location': FieldInfo(annotation=str, required=False, default='best'), 'linestyle': FieldInfo(annotation=Union[str, Sequence[str]], required=False, default=''), 'marker': FieldInfo(annotation=Union[str, Sequence[str]], required=False, default=''), 'n_items': FieldInfo(annotation=int, required=False, default=0), 'rmax': FieldInfo(annotation=Union[float, NoneType], required=False), 'rmin': FieldInfo(annotation=Union[float, NoneType], required=False), 'title': FieldInfo(annotation=str, required=False, default=''), 'xlabel': FieldInfo(annotation=str, required=False, default=''), 'xmax': FieldInfo(annotation=Union[float, NoneType], required=False), 'xmin': FieldInfo(annotation=Union[float, NoneType], required=False), 'xtick_rotation': FieldInfo(annotation=float, required=False, default=0.0), 'ylabel': FieldInfo(annotation=str, required=False, default=''), 'ymax': FieldInfo(annotation=Union[float, NoneType], required=False), 'ymin': FieldInfo(annotation=Union[float, NoneType], required=False), 'zlabel': FieldInfo(annotation=str, required=False, default=''), 'zmax': FieldInfo(annotation=Union[float, NoneType], required=False), 'zmin': FieldInfo(annotation=Union[float, NoneType], required=False)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

n_items: int

The number of items.

The item definition is specific to the plot type and is used to define properties, e.g. color and line style, for each item.

For example, items can correspond to curves or series of points.

By default, a graph has no item.

rmax: float | None

The maximum value on the r-axis.

If None, compute it from data.

rmin: float | None

The minimum value on the r-axis.

If None, compute it from data.

title: str

The title of the plot.

xlabel: str

The label for the x-axis.

xmax: float | None

The maximum value on the x-axis.”.

If None, compute it from data.

xmin: float | None

The minimum value on the x-axis.

If None, compute it from data.

xtick_rotation: float

The rotation angle in degrees for the x-ticks.

ylabel: str

The label for the y-axis.

ymax: float | None

The maximum value on the y-axis.

If None, compute it from data.

ymin: float | None

The minimum value on the y-axis.

If None, compute it from data.

zlabel: str

The label for the z-axis.

zmax: float | None

The maximum value on the z-axis.

If None, compute it from data.

zmin: float | None

The minimum value on the z-axis.

If None, compute it from data.