22 lines
756 B
Python
22 lines
756 B
Python
from typing import Optional
|
|
|
|
from attrs import field, define
|
|
from attrs.validators import instance_of, optional, deep_iterable
|
|
from src.data_classes.parameters_visualization import PlotParameters
|
|
|
|
|
|
@define
|
|
class BarChartPlotParameters(PlotParameters):
|
|
variable_x_axis: str = field(validator=instance_of(str))
|
|
variable_y_axis: Optional[str] = field(validator=optional(instance_of(str)))
|
|
chart_orientation: str = field(validator=instance_of(str))
|
|
sort_order: str = field(validator=instance_of(str))
|
|
custom_order: Optional[list[str]] = field(
|
|
default=None,
|
|
validator=optional(
|
|
deep_iterable(
|
|
member_validator=instance_of(str), iterable_validator=instance_of(list)
|
|
)
|
|
),
|
|
)
|