Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/openpyxl/chart/series_factory.py: 11%
29 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1# Copyright (c) 2010-2022 openpyxl
3from .data_source import NumDataSource, NumRef, AxDataSource
4from .reference import Reference
5from .series import Series, XYSeries, SeriesLabel, StrRef
6from openpyxl.utils import rows_from_range, quote_sheetname
9def SeriesFactory(values, xvalues=None, zvalues=None, title=None, title_from_data=False):
10 """
11 Convenience Factory for creating chart data series.
12 """
14 if not isinstance(values, Reference):
15 values = Reference(range_string=values)
17 if title_from_data:
18 cell = values.pop()
19 title = u"{0}!{1}".format(values.sheetname, cell)
20 title = SeriesLabel(strRef=StrRef(title))
21 elif title is not None:
22 title = SeriesLabel(v=title)
24 source = NumDataSource(numRef=NumRef(f=values))
25 if xvalues is not None:
26 if not isinstance(xvalues, Reference):
27 xvalues = Reference(range_string=xvalues)
28 series = XYSeries()
29 series.yVal = source
30 series.xVal = AxDataSource(numRef=NumRef(f=xvalues))
31 if zvalues is not None:
32 if not isinstance(zvalues, Reference):
33 zvalues = Reference(range_string=zvalues)
34 series.zVal = NumDataSource(NumRef(f=zvalues))
35 else:
36 series = Series()
37 series.val = source
39 if title is not None:
40 series.title = title
41 return series