aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/openpyxl/chart/surface_chart.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/openpyxl/chart/surface_chart.py')
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chart/surface_chart.py119
1 files changed, 119 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chart/surface_chart.py b/.venv/lib/python3.12/site-packages/openpyxl/chart/surface_chart.py
new file mode 100644
index 00000000..5f388e14
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chart/surface_chart.py
@@ -0,0 +1,119 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.descriptors import (
+ Typed,
+ Integer,
+ Bool,
+ Alias,
+ Sequence,
+)
+from openpyxl.descriptors.excel import ExtensionList
+from openpyxl.descriptors.nested import (
+ NestedInteger,
+ NestedBool,
+)
+
+from ._chart import ChartBase
+from ._3d import _3DBase
+from .axis import TextAxis, NumericAxis, SeriesAxis
+from .shapes import GraphicalProperties
+from .series import Series
+
+
+class BandFormat(Serialisable):
+
+ tagname = "bandFmt"
+
+ idx = NestedInteger()
+ spPr = Typed(expected_type=GraphicalProperties, allow_none=True)
+ graphicalProperties = Alias("spPr")
+
+ __elements__ = ('idx', 'spPr')
+
+ def __init__(self,
+ idx=0,
+ spPr=None,
+ ):
+ self.idx = idx
+ self.spPr = spPr
+
+
+class BandFormatList(Serialisable):
+
+ tagname = "bandFmts"
+
+ bandFmt = Sequence(expected_type=BandFormat, allow_none=True)
+
+ __elements__ = ('bandFmt',)
+
+ def __init__(self,
+ bandFmt=(),
+ ):
+ self.bandFmt = bandFmt
+
+
+class _SurfaceChartBase(ChartBase):
+
+ wireframe = NestedBool(allow_none=True)
+ ser = Sequence(expected_type=Series, allow_none=True)
+ bandFmts = Typed(expected_type=BandFormatList, allow_none=True)
+
+ _series_type = "surface"
+
+ __elements__ = ('wireframe', 'ser', 'bandFmts')
+
+ def __init__(self,
+ wireframe=None,
+ ser=(),
+ bandFmts=None,
+ **kw
+ ):
+ self.wireframe = wireframe
+ self.ser = ser
+ self.bandFmts = bandFmts
+ super().__init__(**kw)
+
+
+class SurfaceChart3D(_SurfaceChartBase, _3DBase):
+
+ tagname = "surface3DChart"
+
+ wireframe = _SurfaceChartBase.wireframe
+ ser = _SurfaceChartBase.ser
+ bandFmts = _SurfaceChartBase.bandFmts
+
+ extLst = Typed(expected_type=ExtensionList, allow_none=True)
+
+ x_axis = Typed(expected_type=TextAxis)
+ y_axis = Typed(expected_type=NumericAxis)
+ z_axis = Typed(expected_type=SeriesAxis)
+
+ __elements__ = _SurfaceChartBase.__elements__ + ('axId',)
+
+ def __init__(self, **kw):
+ self.x_axis = TextAxis()
+ self.y_axis = NumericAxis()
+ self.z_axis = SeriesAxis()
+ super(SurfaceChart3D, self).__init__(**kw)
+
+
+class SurfaceChart(SurfaceChart3D):
+
+ tagname = "surfaceChart"
+
+ wireframe = _SurfaceChartBase.wireframe
+ ser = _SurfaceChartBase.ser
+ bandFmts = _SurfaceChartBase.bandFmts
+
+ extLst = Typed(expected_type=ExtensionList, allow_none=True)
+
+ __elements__ = SurfaceChart3D.__elements__
+
+ def __init__(self, **kw):
+ super().__init__(**kw)
+ self.y_axis.delete = True
+ self.view3D.x_rotation = 90
+ self.view3D.y_rotation = 0
+ self.view3D.perspective = False
+ self.view3D.right_angle_axes = False