Source code for fastpyxl.chart.stock_chart

# Copyright (c) 2010-2024 fastpyxl

from __future__ import annotations

from fastpyxl.typed_serialisable.fields import AliasField, Field

from fastpyxl.descriptors.excel import ExtensionList

from ._chart import ChartBase
from .axis import TextAxis, NumericAxis, ChartLines
from .updown_bars import UpDownBars
from .label import DataLabelList
from .series import Series


[docs] class StockChart(ChartBase): tagname = "stockChart" ser: list[Series] | None = Field.sequence(expected_type=Series, allow_none=True, default=list) dLbls: DataLabelList | None = Field.element( expected_type=DataLabelList, allow_none=True, default=None ) dataLabels = AliasField("dLbls", default=None) dropLines: ChartLines | None = Field.element(expected_type=ChartLines, allow_none=True, default=None) hiLowLines: ChartLines | None = Field.element(expected_type=ChartLines, allow_none=True, default=None) upDownBars: UpDownBars | None = Field.element(expected_type=UpDownBars, allow_none=True, default=None) extLst: ExtensionList | None = Field.element( expected_type=ExtensionList, allow_none=True, serialize=False, default=None ) _series_type = "line" xml_order = ("ser", "dLbls", "dropLines", "hiLowLines", "upDownBars", "axId") def __init__( self, ser=(), dLbls=None, dropLines=None, hiLowLines=None, upDownBars=None, extLst=None, **kw, ): self.ser = list(ser) if ser is not None else [] self.dLbls = dLbls self.dropLines = dropLines self.hiLowLines = hiLowLines self.upDownBars = upDownBars self.extLst = extLst self.x_axis = TextAxis() self.y_axis = NumericAxis() super().__init__(**kw)