aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/pptx/chart/marker.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/pptx/chart/marker.py')
-rw-r--r--.venv/lib/python3.12/site-packages/pptx/chart/marker.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pptx/chart/marker.py b/.venv/lib/python3.12/site-packages/pptx/chart/marker.py
new file mode 100644
index 00000000..cd4b7f02
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/pptx/chart/marker.py
@@ -0,0 +1,70 @@
+"""Marker-related objects.
+
+Only the line-type charts Line, XY, and Radar have markers.
+"""
+
+from __future__ import annotations
+
+from pptx.dml.chtfmt import ChartFormat
+from pptx.shared import ElementProxy
+from pptx.util import lazyproperty
+
+
+class Marker(ElementProxy):
+ """
+ Represents a data point marker, such as a diamond or circle, on
+ a line-type chart.
+ """
+
+ @lazyproperty
+ def format(self):
+ """
+ The |ChartFormat| instance for this marker, providing access to shape
+ properties such as fill and line.
+ """
+ marker = self._element.get_or_add_marker()
+ return ChartFormat(marker)
+
+ @property
+ def size(self):
+ """
+ An integer between 2 and 72 inclusive indicating the size of this
+ marker in points. A value of |None| indicates no explicit value is
+ set and the size is inherited from a higher-level setting or the
+ PowerPoint default (which may be 9). Assigning |None| removes any
+ explicitly assigned size, causing this value to be inherited.
+ """
+ marker = self._element.marker
+ if marker is None:
+ return None
+ return marker.size_val
+
+ @size.setter
+ def size(self, value):
+ marker = self._element.get_or_add_marker()
+ marker._remove_size()
+ if value is None:
+ return
+ size = marker._add_size()
+ size.val = value
+
+ @property
+ def style(self):
+ """
+ A member of the :ref:`XlMarkerStyle` enumeration indicating the shape
+ of this marker. Returns |None| if no explicit style has been set,
+ which corresponds to the "Automatic" option in the PowerPoint UI.
+ """
+ marker = self._element.marker
+ if marker is None:
+ return None
+ return marker.symbol_val
+
+ @style.setter
+ def style(self, value):
+ marker = self._element.get_or_add_marker()
+ marker._remove_symbol()
+ if value is None:
+ return
+ symbol = marker._add_symbol()
+ symbol.val = value