bubble_chart.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #Autogenerated schema
  2. from openpyxl.descriptors.serialisable import Serialisable
  3. from openpyxl.descriptors import (
  4. Typed,
  5. Set,
  6. MinMax,
  7. Bool,
  8. Integer,
  9. Alias,
  10. Sequence,
  11. )
  12. from openpyxl.descriptors.excel import ExtensionList
  13. from openpyxl.descriptors.nested import (
  14. NestedNoneSet,
  15. NestedMinMax,
  16. NestedBool,
  17. )
  18. from ._chart import ChartBase
  19. from .axis import TextAxis, NumericAxis
  20. from .series import XYSeries
  21. from .label import DataLabelList
  22. class BubbleChart(ChartBase):
  23. tagname = "bubbleChart"
  24. varyColors = NestedBool(allow_none=True)
  25. ser = Sequence(expected_type=XYSeries, allow_none=True)
  26. dLbls = Typed(expected_type=DataLabelList, allow_none=True)
  27. dataLabels = Alias("dLbls")
  28. bubble3D = NestedBool(allow_none=True)
  29. bubbleScale = NestedMinMax(min=0, max=300, allow_none=True)
  30. showNegBubbles = NestedBool(allow_none=True)
  31. sizeRepresents = NestedNoneSet(values=(['area', 'w']))
  32. extLst = Typed(expected_type=ExtensionList, allow_none=True)
  33. x_axis = Typed(expected_type=NumericAxis)
  34. y_axis = Typed(expected_type=NumericAxis)
  35. _series_type = "bubble"
  36. __elements__ = ('varyColors', 'ser', 'dLbls', 'bubble3D', 'bubbleScale',
  37. 'showNegBubbles', 'sizeRepresents', 'axId')
  38. def __init__(self,
  39. varyColors=None,
  40. ser=(),
  41. dLbls=None,
  42. bubble3D=None,
  43. bubbleScale=None,
  44. showNegBubbles=None,
  45. sizeRepresents=None,
  46. extLst=None,
  47. **kw
  48. ):
  49. self.varyColors = varyColors
  50. self.ser = ser
  51. self.dLbls = dLbls
  52. self.bubble3D = bubble3D
  53. self.bubbleScale = bubbleScale
  54. self.showNegBubbles = showNegBubbles
  55. self.sizeRepresents = sizeRepresents
  56. self.x_axis = NumericAxis(axId=10, crossAx=20)
  57. self.y_axis = NumericAxis(axId=20, crossAx=10)
  58. super().__init__(**kw)