PCQRSCANER/venv/Lib/site-packages/pptx/oxml/chart/marker.py
2019-12-22 21:51:47 +01:00

66 lines
1.8 KiB
Python

# encoding: utf-8
"""
Series-related oxml objects.
"""
from __future__ import absolute_import, division, print_function, unicode_literals
from ...enum.chart import XL_MARKER_STYLE
from ..simpletypes import ST_MarkerSize
from ..xmlchemy import BaseOxmlElement, RequiredAttribute, ZeroOrOne
class CT_Marker(BaseOxmlElement):
"""
`c:marker` custom element class, containing visual properties for a data
point marker on line-type charts.
"""
_tag_seq = ("c:symbol", "c:size", "c:spPr", "c:extLst")
symbol = ZeroOrOne("c:symbol", successors=_tag_seq[1:])
size = ZeroOrOne("c:size", successors=_tag_seq[2:])
spPr = ZeroOrOne("c:spPr", successors=_tag_seq[3:])
del _tag_seq
@property
def size_val(self):
"""
Return the value of `./c:size/@val`, specifying the size of this
marker in points. Returns |None| if no `c:size` element is present or
its val attribute is not present.
"""
size = self.size
if size is None:
return None
return size.val
@property
def symbol_val(self):
"""
Return the value of `./c:symbol/@val`, specifying the shape of this
marker. Returns |None| if no `c:symbol` element is present.
"""
symbol = self.symbol
if symbol is None:
return None
return symbol.val
class CT_MarkerSize(BaseOxmlElement):
"""
`c:size` custom element class, specifying the size (in points) of a data
point marker for a line, XY, or radar chart.
"""
val = RequiredAttribute("val", ST_MarkerSize)
class CT_MarkerStyle(BaseOxmlElement):
"""
`c:symbol` custom element class, specifying the shape of a data point
marker for a line, XY, or radar chart.
"""
val = RequiredAttribute("val", XL_MARKER_STYLE)