Example #1
0
    def __init__(self, data=None, legend_data=None):
        Drawing.__init__(self, width=530, height=160)

        self._add(self,
                  MyChartFrame(x=0, y=0, width=530, height=160,
                               title='Volume'),
                  name='frame')

        # chart
        self._add(self, LinePlot(), name='chart')
        self.chart.y = 20
        self.chart.x = 34
        self.chart.width = 423
        self.chart.height = 110

        # line styles
        self.chart.lines.symbol = makeMarker('Circle', size=2)

        colors = map(toColor, get_n_random_colors(len(legend_data)))
        for (i, _) in enumerate(legend_data):
            self.chart.lines[i].strokeColor = colors[i]

        # x axis
        self.chart.xValueAxis = NormalDateXValueAxis()
        self.chart.xValueAxis.xLabelFormat = '{dd} {MMM}'
        self.chart.xValueAxis.loLLen = 8
        self.chart.xValueAxis.hiLLen = 5
        self.chart.xValueAxis.labels.fontName = 'Lato'
        self.chart.xValueAxis.labels.fontSize = 9

        # y axis
        self.chart.yValueAxis = YValueAxis()
        self.chart.yValueAxis.visibleGrid = 1
        self.chart.yValueAxis.visibleAxis = 0
        self.chart.yValueAxis.strokeWidth = 0.25
        self.chart.yValueAxis.labels.rightPadding = 5
        self.chart.yValueAxis.labels.fontName = 'Lato'
        self.chart.yValueAxis.labels.fontSize = 9
        self.chart.yValueAxis.rangeRound = 'both'
        self.chart.yValueAxis.tickLeft = 7.5
        self.chart.yValueAxis.minimumTickSpacing = 0.5
        self.chart.yValueAxis.maximumTicks = 8
        self.chart.yValueAxis.avoidBoundFrac = 0.1

        # legend
        self._add(self, LineLegend(), name='legend')
        self.legend.alignment = 'right'
        self.legend.y = 110
        self.legend.x = 462
        self.legend.dxTextSpace = 5
        self.legend.columnMaximum = 4
        self.legend.fontName = 'Lato'
        self.legend.fontSize = 9

        self.legend.colorNamePairs = zip(colors, legend_data)

        # Data...
        self.chart.data = data
Example #2
0
 def __init__(self):
     AreaLinePlot.__init__(self)
     self.xValueAxis = NormalDateXValueAxis()
     self.yValueAxis = AdjYValueAxis()
     self.data=[(20030601,0.95,0.05,0.0),(20030701,0.95,0.05,0.0),(20030801,0.95,0.05,0.0),(20030901,0.95,0.05,0.0),(20031001,0.95,0.05,0.0),(20031101,0.95,0.05,0.0),(20031201,0.95,0.05,0.0),(20040101,0.95,0.05,0.0),(20040201,0.95,0.05,0.0),(20040301,0.95,0.05,0.0),(20040401,0.95,0.05,0.0),(20040501,0.95,0.05,0.0),(20040601,0.95,0.05,0.0),(20040701,0.95,0.05,0.0),(20040801,0.95,0.05,0.0),(20040901,0.95,0.05,0.0),(20041001,0.95,0.05,0.0),(20041101,0.95,0.05,0.0),(20041201,0.95,0.05,0.0),(20050101,0.95,0.05,0.0),(20050201,0.95,0.05,0.0),(20050301,0.95,0.05,0.0),(20050401,0.95,0.05,0.0),(20050501,0.95,0.05,0.0),(20050601,0.95,0.05,0.0),(20050701,0.95,0.05,0.0),(20050801,0.95,0.05,0.0),(20050901,0.95,0.05,0.0),(20051001,0.95,0.05,0.0),(20051101,0.95,0.05,0.0),(20051201,0.95,0.05,0.0),(20060101,0.95,0.05,0.0),(20060201,0.95,0.05,0.0),(20060301,0.95,0.05,0.0),(20060401,0.95,0.05,0.0),(20060501,0.95,0.05,0.0),(20060601,0.95,0.05,0.0),(20060701,0.95,0.05,0.0),(20060801,0.95,0.05,0.0),(20060901,0.95,0.05,0.0),(20061001,0.95,0.05,0.0),(20061101,0.95,0.05,0.0),(20061201,0.95,0.05,0.0),(20070101,0.95,0.05,0.0),(20070201,0.95,0.05,0.0),(20070301,0.95,0.05,0.0),(20070401,0.95,0.05,0.0),(20070501,0.95,0.05,0.0),(20070601,0.95,0.05,0.0),(20070701,0.95,0.05,0.0),(20070801,0.95,0.05,0.0),(20070901,0.95,0.05,0.0),(20071001,0.95,0.05,0.0),(20071101,0.95,0.05,0.0),(20071201,0.95,0.05,0.0),(20080101,0.95,0.05,0.0),(20080201,0.95,0.05,0.0),(20080301,0.95,0.05,0.0),(20080401,0.95,0.05,0.0),(20080501,0.95,0.05,0.0),(20080601,0.95,0.05,0.0),(20080701,0.95,0.05,0.0),(20080801,0.95,0.05,0.0),(20080901,0.95,0.05,0.0),(20081001,0.95,0.05,0.0),(20081101,0.95,0.05,0.0),(20081201,0.95,0.05,0.0),(20090101,0.95,0.05,0.0),(20090201,0.91,0.09,0.0),(20090301,0.91,0.09,0.0),(20090401,0.91,0.09,0.0),(20090501,0.91,0.09,0.0),(20090601,0.91,0.09,0.0),(20090701,0.91,0.09,0.0),(20090801,0.91,0.09,0.0),(20090901,0.91,0.09,0.0),(20091001,0.91,0.09,0.0),(20091101,0.91,0.09,0.0),(20091201,0.91,0.09,0.0),(20100101,0.91,0.09,0.0),(20100201,0.81,0.19,0.0),(20100301,0.81,0.19,0.0),(20100401,0.81,0.19,0.0),(20100501,0.81,0.19,0.0),(20100601,0.81,0.19,0.0),(20100701,0.81,0.19,0.0),(20100801,0.81,0.19,0.0),(20100901,0.81,0.19,0.0),(20101001,0.81,0.19,0.0),(20101101,0.81,0.19,0.0),(20101201,0.81,0.19,0.0),(20110101,0.81,0.19,0.0),(20110201,0.72,0.28,0.0),(20110301,0.72,0.28,0.0),(20110401,0.72,0.28,0.0),(20110501,0.72,0.28,0.0),(20110601,0.72,0.28,0.0),(20110701,0.72,0.28,0.0),(20110801,0.72,0.28,0.0),(20110901,0.72,0.28,0.0),(20111001,0.72,0.28,0.0),(20111101,0.72,0.28,0.0),(20111201,0.72,0.28,0.0),(20120101,0.72,0.28,0.0),(20120201,0.53,0.47,0.0),(20120301,0.53,0.47,0.0),(20120401,0.53,0.47,0.0),(20120501,0.53,0.47,0.0),(20120601,0.53,0.47,0.0),(20120701,0.53,0.47,0.0),(20120801,0.53,0.47,0.0),(20120901,0.53,0.47,0.0),(20121001,0.53,0.47,0.0),(20121101,0.53,0.47,0.0),(20121201,0.53,0.47,0.0),(20130101,0.53,0.47,0.0),(20130201,0.44,0.56,0.0),(20130301,0.44,0.56,0.0),(20130401,0.44,0.56,0.0),(20130501,0.44,0.56,0.0),(20130601,0.44,0.56,0.0),(20130701,0.44,0.56,0.0),(20130801,0.44,0.56,0.0),(20130901,0.44,0.56,0.0),(20131001,0.44,0.56,0.0),(20131101,0.44,0.56,0.0),(20131201,0.44,0.56,0.0),(20140101,0.44,0.56,0.0),(20140201,0.36,0.5,0.14),(20140301,0.36,0.5,0.14),(20140401,0.36,0.5,0.14),(20140501,0.36,0.5,0.14),(20140601,0.36,0.5,0.14),(20140701,0.36,0.5,0.14),(20140801,0.36,0.5,0.14),(20140901,0.36,0.5,0.14),(20141001,0.36,0.5,0.14),(20141101,0.36,0.5,0.14),(20141201,0.36,0.5,0.14),(20150101,0.36,0.5,0.14),(20150201,0.3,0.41,0.29),(20150301,0.3,0.41,0.29),(20150401,0.3,0.41,0.29),(20150501,0.3,0.41,0.29),(20150601,0.3,0.41,0.29),(20150701,0.3,0.41,0.29),(20150801,0.3,0.41,0.29),(20150901,0.3,0.41,0.29),(20151001,0.3,0.41,0.29),(20151101,0.3,0.41,0.29),(20151201,0.3,0.41,0.29),(20160101,0.3,0.41,0.29),(20160201,0.26,0.36,0.38),(20160301,0.26,0.36,0.38),(20160401,0.26,0.36,0.38),(20160501,0.26,0.36,0.38),(20160601,0.26,0.36,0.38),(20160701,0.26,0.36,0.38),(20160801,0.26,0.36,0.38),(20160901,0.26,0.36,0.38),(20161001,0.26,0.36,0.38),(20161101,0.26,0.36,0.38),(20161201,0.26,0.36,0.38),(20170101,0.26,0.36,0.38),(20170201,0.2,0.3,0.5),(20170301,0.2,0.3,0.5),(20170401,0.2,0.3,0.5),(20170501,0.2,0.3,0.5),(20170601,0.2,0.3,0.5),(20170701,0.2,0.3,0.5),(20170801,0.2,0.3,0.5),(20170901,0.2,0.3,0.5),(20171001,0.2,0.3,0.5),(20171101,0.2,0.3,0.5),(20171201,0.2,0.3,0.5),(20180101,0.2,0.3,0.5),(20180201,0.13,0.37,0.5),(20180301,0.13,0.37,0.5),(20180401,0.13,0.37,0.5),(20180501,0.13,0.37,0.5),(20180601,0.13,0.37,0.5),(20180701,0.13,0.37,0.5),(20180801,0.13,0.37,0.5),(20180901,0.13,0.37,0.5),(20181001,0.13,0.37,0.5),(20181101,0.13,0.37,0.5),(20181201,0.13,0.37,0.5),(20190101,0.13,0.37,0.5),(20190201,0.1,0.4,0.5),(20190301,0.1,0.4,0.5),(20190401,0.1,0.4,0.5),(20190501,0.1,0.4,0.5),(20190601,0.1,0.4,0.5),(20190701,0.1,0.4,0.5),(20190801,0.1,0.4,0.5),(20190901,0.1,0.4,0.5),(20191001,0.1,0.4,0.5),(20191101,0.1,0.4,0.5),(20191201,0.1,0.4,0.5),(20200101,0.1,0.4,0.5)]
     self.yValueAxis.requiredRange = None
     self.yValueAxis.leftAxisPercent = 0
     self.yValueAxis.leftAxisOrigShiftMin = 0
     self.yValueAxis.leftAxisOrigShiftIPC = 0
     self.lines[0].strokeColor = colors.toColor(0x0033cc)
     self.lines[1].strokeColor = colors.toColor(0x99c3ff)
     self.lines[2].strokeColor = colors.toColor(0xCC0033)
Example #3
0
 def __init__(self):
     from reportlab.lib import colors
     LinePlot.__init__(self)
     self.xValueAxis = NormalDateXValueAxis()
     self.yValueAxis = AdjYValueAxis()
     self.scaleFactor = None
     self.background = Grid()
     self.background.orientation = 'horizontal'
     self.background.useRects = 0
     self.background.useLines = 1
     self.background.strokeWidth = 0.5
     self.background.strokeColor = colors.black
     self.data = _monthlyIndexData
Example #4
0
    def __init__(self, data=None):
        Drawing.__init__(self, width=458, height=130)

        # chart
        self._add(self, LinePlot(), name='chart')
        self.chart.y = 20
        self.chart.x = 60
        self.chart.width = 320
        self.chart.height = 100

        # line styles
        self.chart.lines.symbol = makeMarker('Circle', size=2)

        colors = map(toColor, get_n_random_colors(len(data)))
        for (i, _) in enumerate(data):
            self.chart.lines[i].strokeColor = colors[i]

        # x axis
        self.chart.xValueAxis = NormalDateXValueAxis()
        self.chart.xValueAxis.xLabelFormat = '{dd} {MMM}'
        self.chart.xValueAxis.loLLen = 8
        self.chart.xValueAxis.hiLLen = 5
        self.chart.xValueAxis.labels.fontName = 'Lato'
        self.chart.xValueAxis.labels.fontSize = 9

        # y axis
        self.chart.yValueAxis = YValueAxis()
        self.chart.yValueAxis.visibleGrid = 1
        self.chart.yValueAxis.visibleAxis = 0
        self.chart.yValueAxis.strokeWidth = 0.25
        self.chart.yValueAxis.labels.rightPadding = 5
        self.chart.yValueAxis.labels.fontName = 'Lato'
        self.chart.yValueAxis.labels.fontSize = 9
        self.chart.yValueAxis.rangeRound = 'both'
        self.chart.yValueAxis.tickLeft = 7.5
        self.chart.yValueAxis.minimumTickSpacing = 0.5
        self.chart.yValueAxis.maximumTicks = 8
        self.chart.yValueAxis.avoidBoundFrac = 0.1

        # Data...
        self.chart.data = data
Example #5
0
 def __init__(self):
     LinePlot.__init__(self)
     self.xValueAxis = NormalDateXValueAxis()
     self.yValueAxis = YValueAxis()
     self.data = _monthlyIndexData
Example #6
0
# Create the drawing and the lineplot
drawing = Drawing(400, 200)
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp._inFill = 1
lp.data = result
for i in range(len(result)):
    lp.lines[i].strokeColor = colors.toColor('hsl(%s,80%%,40%%)' % (i * 60))

fontName = 'Helvetica'
fontSize = 7

lp.xValueAxis = NormalDateXValueAxis()
lp.xValueAxis.labels.fontName = fontName
lp.xValueAxis.labels.fontSize = fontSize - 1
lp.xValueAxis.forceEndDate = 1
lp.xValueAxis.forceFirstDate = 1
lp.xValueAxis.labels.boxAnchor = 'autox'
lp.xValueAxis.xLabelFormat = '{d}-{MMM}'
lp.xValueAxis.maximumTicks = 5
lp.xValueAxis.minimumTickSpacing = 0.5
lp.xValueAxis.niceMonth = 0
lp.xValueAxis.strokeWidth = 1
lp.xValueAxis.loLLen = 5
lp.xValueAxis.hiLLen = 5
# lp.xValueAxis.gridEnd               = self.width
# lp.xValueAxis.gridStart             = self.chart.x-10
drawing = Drawing(400, 200)

# chart
my_colors = PCMYKColor(50, 0, 100, 20, alpha=40), PCMYKColor(
    0, 100, 100,
    40), PCMYKColor(100, 0, 90, 50), PCMYKColor(0, 0, 0, 40), PCMYKColor(
        10, 0, 100, 11), PCMYKColor(15, 0, 0, 0), PCMYKColor(0, 0, 0, 50)
lp = LinePlot()
lp.x = 0
lp.y = 0
lp.width = 400
lp.height = 120
lp.lines[0].inFill = True
lp.lines[0].strokeColor = my_colors[0]
# x axis
lp.xValueAxis = NormalDateXValueAxis()  # we change the axis type here
lp.xValueAxis.bottomAxisLabelSlack = 0
lp.xValueAxis.dailyFreq = 0
lp.xValueAxis.forceEndDate = True
lp.xValueAxis.forceFirstDate = True
lp.xValueAxis.gridEnd = 0
lp.xValueAxis.gridStart = 0
lp.xValueAxis.gridStrokeWidth = 1
lp.xValueAxis.joinAxisMode = 'bottom'
lp.xValueAxis.labels.angle = 30
lp.xValueAxis.labels.boxAnchor = 'e'
lp.xValueAxis.labels.dx = -2
lp.xValueAxis.labels.dy = -10
lp.xValueAxis.labels.fontName = 'Times-Roman'
lp.xValueAxis.labels.fontSize = 10
lp.xValueAxis.maximumTicks = 13
Example #8
0
def drawsystemdailyefficiency(can, resultsbuffer):
    can.setFont("Helvetica", 24)
    sec_title = "Chiller Plant System Daily Efficiency"
    can.drawString(25, 750, sec_title)

    desc_text = "The chiller plant system daily efficiency demonstrates the total efficiency including every" \
                " parts of the system across a series of days. The range can be by default (say, 2 days) or" \
                " specified by administrators."
    stylesheet = getSampleStyleSheet()
    paragraph = Paragraph(desc_text, stylesheet['Normal'])
    aW, aH = 500, 600
    w, h = paragraph.wrap(aW, aH)
    if w <= aW and h <= aH:
        paragraph.drawOn(can, 25, 700)

    # Draw the chart
    drawing = Drawing(600, 400)

    # font
    fontName = 'Helvetica'
    fontSize = 7

    # chart
    lp = LinePlot()
    lp.y = 16
    lp.x = 32
    lp.width = 400
    lp.height = 200

    # line styles
    lp.lines.strokeWidth = 0
    lp.lines.symbol = makeMarker('FilledSquare')

    # x axis
    lp.xValueAxis = NormalDateXValueAxis()
    lp.xValueAxis.labels.fontName = fontName
    lp.xValueAxis.labels.fontSize = fontSize - 1
    lp.xValueAxis.forceEndDate = 1
    lp.xValueAxis.forceFirstDate = 1
    lp.xValueAxis.labels.boxAnchor = 'autox'
    lp.xValueAxis.xLabelFormat = '{d}-{MMM}'
    lp.xValueAxis.maximumTicks = 5
    lp.xValueAxis.minimumTickSpacing = 0.5
    lp.xValueAxis.niceMonth = 0
    lp.xValueAxis.strokeWidth = 1
    lp.xValueAxis.loLLen = 5
    lp.xValueAxis.hiLLen = 5
    lp.xValueAxis.gridEnd = drawing.width
    lp.xValueAxis.gridStart = lp.x - 10

    # y axis
    # self.chart.yValueAxis = AdjYValueAxis()
    lp.yValueAxis.visibleGrid = 1
    lp.yValueAxis.visibleAxis = 0
    lp.yValueAxis.labels.fontName = fontName
    lp.yValueAxis.labels.fontSize = fontSize - 1
    lp.yValueAxis.labelTextFormat = '%0.2f%%'
    lp.yValueAxis.strokeWidth = 0.25
    lp.yValueAxis.visible = 1
    lp.yValueAxis.labels.rightPadding = 5

    # self.chart.yValueAxis.maximumTicks = 6
    lp.yValueAxis.rangeRound = 'both'
    lp.yValueAxis.tickLeft = 7.5
    lp.yValueAxis.minimumTickSpacing = 0.5
    lp.yValueAxis.maximumTicks = 8
    lp.yValueAxis.forceZero = 0
    lp.yValueAxis.avoidBoundFrac = 0.1

    # legend
    ll = LineLegend()
    ll.fontName = fontName
    ll.fontSize = fontSize
    ll.alignment = 'right'
    ll.dx = 5

    # sample data
    lp.data = [[(19010706, 3.3900000000000001), (19010806, 3.29),
                (19010906, 3.2999999999999998), (19011006, 3.29),
                (19011106, 3.3399999999999999), (19011206, 3.4100000000000001),
                (19020107, 3.3700000000000001), (19020207, 3.3700000000000001),
                (19020307, 3.3700000000000001), (19020407, 3.5),
                (19020507, 3.6200000000000001), (19020607, 3.46),
                (19020707, 3.3900000000000001)],
               [(19010706, 3.2000000000000002), (19010806, 3.1200000000000001),
                (19010906, 3.1400000000000001), (19011006, 3.1400000000000001),
                (19011106, 3.1699999999999999), (19011206, 3.23),
                (19020107, 3.1899999999999999), (19020207, 3.2000000000000002),
                (19020307, 3.1899999999999999), (19020407, 3.3100000000000001),
                (19020507, 3.4300000000000002), (19020607, 3.29),
                (19020707, 3.2200000000000002)]]

    lp.lines[0].strokeColor = PCMYKColor(0, 100, 100, 40, alpha=100)
    lp.lines[1].strokeColor = PCMYKColor(100, 0, 90, 50, alpha=100)
    lp.xValueAxis.strokeColor = PCMYKColor(100, 60, 0, 50, alpha=100)
    ll.colorNamePairs = [(PCMYKColor(0, 100, 100, 40,
                                     alpha=100), '01-Mar-2017'),
                         (PCMYKColor(100, 0, 90, 50,
                                     alpha=100), '02-Mar-2017')]
    lp.lines.symbol.x = 0
    lp.lines.symbol.strokeWidth = 0
    lp.lines.symbol.arrowBarbDx = 5
    lp.lines.symbol.strokeColor = PCMYKColor(0, 0, 0, 0, alpha=100)
    lp.lines.symbol.fillColor = None
    lp.lines.symbol.arrowHeight = 5
    ll.dxTextSpace = 7
    ll.boxAnchor = 'nw'
    ll.subCols.dx = 0
    ll.subCols.dy = -2
    ll.subCols.rpad = 0
    ll.columnMaximum = 1
    ll.deltax = 1
    ll.deltay = 0
    ll.dy = 5
    ll.y = 240
    ll.x = 300
    lp.lines.symbol.kind = 'FilledCross'
    lp.lines.symbol.size = 5
    lp.lines.symbol.angle = 45

    drawing.add(lp)
    drawing.add(ll)
    # drawing.title.text = "Jurong Point System Efficiency"
    # drawing.title.fondSize = 16
    drawing.drawOn(can, 100, 450)

    can.showPage()
Example #9
0
 def __init__(self, width=258, height=150, *args, **kw):
     Drawing.__init__(self, width, height, *args, **kw)
     # font
     fontName = 'Helvetica'
     fontSize = 7
     # chart
     self._add(self, LinePlot(), name='chart', validate=None, desc=None)
     self.chart.y = 16
     self.chart.x = 32
     self.chart.width = 212
     self.chart.height = 90
     # line styles
     self.chart.lines.strokeWidth = 0
     self.chart.lines.symbol = makeMarker('FilledSquare')
     # x axis
     self.chart.xValueAxis = NormalDateXValueAxis()
     self.chart.xValueAxis.labels.fontName = fontName
     self.chart.xValueAxis.labels.fontSize = fontSize - 1
     self.chart.xValueAxis.forceEndDate = 1
     self.chart.xValueAxis.forceFirstDate = 1
     self.chart.xValueAxis.labels.boxAnchor = 'autox'
     self.chart.xValueAxis.xLabelFormat = '{d}-{MMM}'
     self.chart.xValueAxis.maximumTicks = 5
     self.chart.xValueAxis.minimumTickSpacing = 0.5
     self.chart.xValueAxis.niceMonth = 0
     self.chart.xValueAxis.strokeWidth = 1
     self.chart.xValueAxis.loLLen = 5
     self.chart.xValueAxis.hiLLen = 5
     self.chart.xValueAxis.gridEnd = self.width
     self.chart.xValueAxis.gridStart = self.chart.x - 10
     # y axis
     #self.chart.yValueAxis = AdjYValueAxis()
     self.chart.yValueAxis.visibleGrid = 1
     self.chart.yValueAxis.visibleAxis = 0
     self.chart.yValueAxis.labels.fontName = fontName
     self.chart.yValueAxis.labels.fontSize = fontSize - 1
     self.chart.yValueAxis.labelTextFormat = '%0.2f%%'
     self.chart.yValueAxis.strokeWidth = 0.25
     self.chart.yValueAxis.visible = 1
     self.chart.yValueAxis.labels.rightPadding = 5
     #self.chart.yValueAxis.maximumTicks          = 6
     self.chart.yValueAxis.rangeRound = 'both'
     self.chart.yValueAxis.tickLeft = 7.5
     self.chart.yValueAxis.minimumTickSpacing = 0.5
     self.chart.yValueAxis.maximumTicks = 8
     self.chart.yValueAxis.forceZero = 0
     self.chart.yValueAxis.avoidBoundFrac = 0.1
     # legend
     self._add(self, LineLegend(), name='legend', validate=None, desc=None)
     self.legend.fontName = fontName
     self.legend.fontSize = fontSize
     self.legend.alignment = 'right'
     self.legend.dx = 5
     # sample data
     self.chart.data = [[(19010706, 3.3900000000000001), (19010806, 3.29),
                         (19010906, 3.2999999999999998), (19011006, 3.29),
                         (19011106, 3.3399999999999999),
                         (19011206, 3.4100000000000001),
                         (19020107, 3.3700000000000001),
                         (19020207, 3.3700000000000001),
                         (19020307, 3.3700000000000001), (19020407, 3.5),
                         (19020507, 3.6200000000000001), (19020607, 3.46),
                         (19020707, 3.3900000000000001)],
                        [(19010706, 3.2000000000000002),
                         (19010806, 3.1200000000000001),
                         (19010906, 3.1400000000000001),
                         (19011006, 3.1400000000000001),
                         (19011106, 3.1699999999999999), (19011206, 3.23),
                         (19020107, 3.1899999999999999),
                         (19020207, 3.2000000000000002),
                         (19020307, 3.1899999999999999),
                         (19020407, 3.3100000000000001),
                         (19020507, 3.4300000000000002), (19020607, 3.29),
                         (19020707, 3.2200000000000002)]]
     self.chart.lines[0].strokeColor = PCMYKColor(0,
                                                  100,
                                                  100,
                                                  40,
                                                  alpha=100)
     self.chart.lines[1].strokeColor = PCMYKColor(100, 0, 90, 50, alpha=100)
     self.chart.xValueAxis.strokeColor = PCMYKColor(100,
                                                    60,
                                                    0,
                                                    50,
                                                    alpha=100)
     self.legend.colorNamePairs = [(PCMYKColor(0, 100, 100, 40,
                                               alpha=100), 'Bovis Homes'),
                                   (PCMYKColor(100, 0, 90, 50,
                                               alpha=100), 'HSBC Holdings')]
     self.chart.lines.symbol.x = 0
     self.chart.lines.symbol.strokeWidth = 0
     self.chart.lines.symbol.arrowBarbDx = 5
     self.chart.lines.symbol.strokeColor = PCMYKColor(0, 0, 0, 0, alpha=100)
     self.chart.lines.symbol.fillColor = None
     self.chart.lines.symbol.arrowHeight = 5
     self.legend.dxTextSpace = 7
     self.legend.boxAnchor = 'nw'
     self.legend.subCols.dx = 0
     self.legend.subCols.dy = -2
     self.legend.subCols.rpad = 0
     self.legend.columnMaximum = 1
     self.legend.deltax = 1
     self.legend.deltay = 0
     self.legend.dy = 5
     self.legend.y = 135
     self.legend.x = 120
     self.chart.lines.symbol.kind = 'FilledCross'
     self.chart.lines.symbol.size = 5
     self.chart.lines.symbol.angle = 45