bubble.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #Autogenerated by ReportLab guiedit do not edit
  2. from reportlab.graphics.charts.legends import Legend
  3. from reportlab.graphics.charts.lineplots import ScatterPlot
  4. from reportlab.graphics.shapes import Drawing, _DrawingEditorMixin, String
  5. from reportlab.graphics.charts.textlabels import Label
  6. from reportlab.graphics.samples.excelcolors import *
  7. class Bubble(_DrawingEditorMixin,Drawing):
  8. def __init__(self,width=200,height=150,*args,**kw):
  9. Drawing.__init__(self,width,height,*args,**kw)
  10. self._add(self,ScatterPlot(),name='chart',validate=None,desc="The main chart")
  11. self.chart.width = 115
  12. self.chart.height = 80
  13. self.chart.x = 30
  14. self.chart.y = 40
  15. self.chart.lines[0].strokeColor = color01
  16. self.chart.lines[1].strokeColor = color02
  17. self.chart.lines[2].strokeColor = color03
  18. self.chart.lines[3].strokeColor = color04
  19. self.chart.lines[4].strokeColor = color05
  20. self.chart.lines[5].strokeColor = color06
  21. self.chart.lines[6].strokeColor = color07
  22. self.chart.lines[7].strokeColor = color08
  23. self.chart.lines[8].strokeColor = color09
  24. self.chart.lines[9].strokeColor = color10
  25. self.chart.lines.symbol.kind ='Circle'
  26. self.chart.lines.symbol.size = 15
  27. self.chart.fillColor = backgroundGrey
  28. self.chart.lineLabels.fontName = 'Helvetica'
  29. self.chart.xValueAxis.labels.fontName = 'Helvetica'
  30. self.chart.xValueAxis.labels.fontSize = 7
  31. self.chart.xValueAxis.forceZero = 0
  32. self.chart.data = [((100,100), (200,200), (250,210), (300,300), (350,450))]
  33. self.chart.xValueAxis.avoidBoundFrac = 1
  34. self.chart.xValueAxis.gridEnd = 115
  35. self.chart.xValueAxis.tickDown = 3
  36. self.chart.xValueAxis.visibleGrid = 1
  37. self.chart.yValueAxis.tickLeft = 3
  38. self.chart.yValueAxis.labels.fontName = 'Helvetica'
  39. self.chart.yValueAxis.labels.fontSize = 7
  40. self._add(self,Label(),name='Title',validate=None,desc="The title at the top of the chart")
  41. self.Title.fontName = 'Helvetica-Bold'
  42. self.Title.fontSize = 7
  43. self.Title.x = 100
  44. self.Title.y = 135
  45. self.Title._text = 'Chart Title'
  46. self.Title.maxWidth = 180
  47. self.Title.height = 20
  48. self.Title.textAnchor ='middle'
  49. self._add(self,Legend(),name='Legend',validate=None,desc="The legend or key for the chart")
  50. self.Legend.colorNamePairs = [(color01, 'Widgets')]
  51. self.Legend.fontName = 'Helvetica'
  52. self.Legend.fontSize = 7
  53. self.Legend.x = 153
  54. self.Legend.y = 85
  55. self.Legend.dxTextSpace = 5
  56. self.Legend.dy = 5
  57. self.Legend.dx = 5
  58. self.Legend.deltay = 5
  59. self.Legend.alignment ='right'
  60. self.chart.lineLabelFormat = None
  61. self.chart.xLabel = 'X Axis'
  62. self.chart.y = 30
  63. self.chart.yLabel = 'Y Axis'
  64. self.chart.yValueAxis.labelTextFormat = '%d'
  65. self.chart.yValueAxis.forceZero = 1
  66. self.chart.xValueAxis.forceZero = 1
  67. self._add(self,0,name='preview',validate=None,desc=None)
  68. if __name__=="__main__": #NORUNTESTS
  69. Bubble().save(formats=['pdf'],outDir=None,fnRoot='bubble')