Skip to content

charts

django_spire.metric.visual.charts

VISUAL_CHART_CLASSES = {VisualKindChoices.LINE: VisualLineChart, VisualKindChoices.BAR: VisualBarChart, VisualKindChoices.AREA: VisualAreaChart, VisualKindChoices.PIE: VisualPieChart, VisualKindChoices.GAUGE: VisualGaugeChart} module-attribute

VisualLineChart

Bases: LineChart

Source code in django_spire/contrib/chart/charts.py
def __init__(self, params: dict[str, Any] | None = None) -> None:
    self.params = {**type(self).params, **(params or {})}

glue_name = 'visual_line_chart' class-attribute instance-attribute

build_option_body classmethod

Source code in django_spire/metric/visual/charts.py
@classmethod
def build_option_body(cls, visual_pk: int, **_kwargs: Any) -> dict:
    visual = _visual_for(visual_pk)

    return {'xAxis': {'type': 'time'}, 'series': _series_option(visual)}

VisualBarChart

Bases: BarChart

Source code in django_spire/contrib/chart/charts.py
def __init__(self, params: dict[str, Any] | None = None) -> None:
    self.params = {**type(self).params, **(params or {})}

glue_name = 'visual_bar_chart' class-attribute instance-attribute

build_option_body classmethod

Source code in django_spire/metric/visual/charts.py
@classmethod
def build_option_body(cls, visual_pk: int, **_kwargs: Any) -> dict:
    visual = _visual_for(visual_pk)

    return {'xAxis': {'type': 'time'}, 'series': _series_option(visual)}

VisualAreaChart

Bases: AreaChart

Source code in django_spire/contrib/chart/charts.py
def __init__(self, params: dict[str, Any] | None = None) -> None:
    self.params = {**type(self).params, **(params or {})}

glue_name = 'visual_area_chart' class-attribute instance-attribute

build_option_body classmethod

Source code in django_spire/metric/visual/charts.py
@classmethod
def build_option_body(cls, visual_pk: int, **_kwargs: Any) -> dict:
    visual = _visual_for(visual_pk)

    return {'xAxis': {'type': 'time'}, 'series': _series_option(visual)}

VisualPieChart

Bases: PieChart

Source code in django_spire/contrib/chart/charts.py
def __init__(self, params: dict[str, Any] | None = None) -> None:
    self.params = {**type(self).params, **(params or {})}

glue_name = 'visual_pie_chart' class-attribute instance-attribute

build_option_body classmethod

Source code in django_spire/metric/visual/charts.py
@classmethod
def build_option_body(cls, visual_pk: int, **_kwargs: Any) -> dict:
    visual = _visual_for(visual_pk)

    data = visual.services.transformation.series_breakdown()

    return {'series': [{'name': visual.name, 'data': data}]}

VisualGaugeChart

Bases: GaugeChart

Source code in django_spire/contrib/chart/charts.py
def __init__(self, params: dict[str, Any] | None = None) -> None:
    self.params = {**type(self).params, **(params or {})}

glue_name = 'visual_gauge_chart' class-attribute instance-attribute

build_option_body classmethod

Source code in django_spire/metric/visual/charts.py
@classmethod
def build_option_body(cls, visual_pk: int, **_kwargs: Any) -> dict:
    visual = _visual_for(visual_pk)

    ceiling = visual.services.transformation.gauge_max()
    datasets = visual.services.transformation.dataset_values()

    return {
        'series': [
            {
                'name': visual.name,
                'min': 0,
                'max': ceiling,
                'detail': {'formatter': '{value}'},
                'data': [
                    {'value': round(float(dataset['value']), 2), 'name': dataset['label']}
                    for dataset in datasets
                ],
            }
        ]
    }