Пример #1
0
    def draw_chart(self, wsheet, series, left=0, title=""):
        chart = BarChart()
        chart.title = title
        chart.drawing.left = 500 + left
        chart.drawing.top = 250 + left
        chart.drawing.height = 200
        chart.drawing.width = 500

        i = 0
        for serie in series:
            if len(serie) == 4:

                x1 = int(serie[0])
                y1 = int(serie[1])
                x2 = int(serie[2])
                y2 = int(serie[3])

                if x2 > 3:

                    if i == 0:
                        legend = Reference(wsheet, (0, 0))
                        labels = Reference(wsheet, (x1, 0), (x2, 0))
                    else:
                        if y1 < 13:
                            legend = Reference(wsheet, (0, 4))
                        if y1 >= 13:
                            legend = Reference(wsheet, (0, 13))

                    #value = wsheet.cell(row=4,column=0).value
                    title = wsheet.title
                    if title.find("Rate") < 0:
                        isLabel = True
                    else:
                        if len(title) > 12:
                            isLabel = True
                        else:
                            isLabel = False

                    if i == 0 and isLabel:  # type(value).__name__ <> 'int':
                        seri = Serie(Reference(wsheet, (x1, y1), (x2, y2)),
                                     labels=labels,
                                     legend=legend)
                    else:
                        seri = Serie(Reference(wsheet, (x1, y1), (x2, y2)),
                                     legend=legend)

                    chart.add_serie(seri)

            i += 1

        wsheet.add_chart(chart)
Пример #2
0
 def test_computer_xmin_xmax(self):
     c = Chart(None, None)
     s = Serie(self.range, xvalues=self.range)
     c._series.append(s)
     c._compute_xmin_xmax()
     eq_(c.x_axis.max, 2.0)
     eq_(c.x_axis.unit, 1.0)
Пример #3
0
 def test_ctor(self):
     series = Serie(self.cell)
     eq_(series.values, [0])
     eq_(series.color, None)
     eq_(series.error_bar, None)
     eq_(series.xvalues, None)
     eq_(series.labels, None)
     eq_(series.legend, None)
Пример #4
0
 def test_max(self):
     series = Serie(self.cell)
     eq_(series.max(), 0)
     series = Serie(self.range)
     eq_(series.max(), 9)
     series = Serie(self.empty)
     eq_(series.max(), None)
Пример #5
0
 def test_min_max(self):
     series = Serie(self.cell)
     eq_(series.get_min_max(), (0, 0))
     series = Serie(self.range)
     eq_(series.get_min_max(), (0, 9))
     series = Serie(self.empty)
     eq_(series.get_min_max(), (None, None))
Пример #6
0
    def setUp(self):

        wb = Workbook()
        ws = wb.get_active_sheet()
        ws.title = u'data'
        for i in range(10):
            ws.cell(row=i, column=0).value = i
        self.chart = BarChart()
        self.chart.title = 'TITLE'
        self.chart.add_serie(Serie(Reference(ws, (0, 0), (10, 0))))
        self.chart._series[-1].color = Color.GREEN
        self.cw = ChartWriter(self.chart)
        self.root = Element('test')
Пример #7
0
    def setUp(self):

        wb = Workbook()
        ws = wb.get_active_sheet()
        ws.title = 'data'
        for i in range(10):
            ws.cell(row=i, column=0).value = i
            ws.cell(row=i, column=1).value = i
        self.scatterchart = ScatterChart()
        self.scatterchart.add_serie(Serie(Reference(ws, (0, 0), (10, 0)),
                         xvalues=Reference(ws, (0, 1), (10, 1))))
        self.cw = ChartWriter(self.scatterchart)
        self.root = Element('test')
Пример #8
0
    def test_no_write_legend(self):

        wb = Workbook()
        ws = wb.get_active_sheet()
        ws.title = 'data'
        for i in range(10):
            ws.cell(row=i, column=0).value = i
            ws.cell(row=i, column=1).value = i
        scatterchart = ScatterChart()
        scatterchart.add_serie(Serie(Reference(ws, (0, 0), (10, 0)),
                         xvalues=Reference(ws, (0, 1), (10, 1))))
        cw = ChartWriter(scatterchart)
        root = Element('test')
        scatterchart.show_legend = False
        cw._write_legend(root)
        eq_(get_xml(root), '<?xml version=\'1.0\' encoding=\'UTF-8\'?><test />')
Пример #9
0
        for c,n in zip(ws2.range("B2:M2")[0], packetSizes):
            c.value = n
            c.style.font.bold = True
    ws3.cell('A3').style.font.bold = True
    for c, n in zip(ws3.range("B4:M4")[0], packetsDropped):
        c.value = n

    wb.save("emmaResults.xlsx")
    # Throughput and mem. efficiency charts
    throughputChart = LineChart()
    throughputChart.show_legend = False
    if(bwLatency == 1): throughputChart.x_axis.title = "No. of Flows"
    elif(bwLatency == 1): throughputChart.x_axis.title = "Input Throughput (in Gbps)"
    elif(bwLatency == 0): throughputChart.x_axis.title = "Packet Size (in Bytes)"
    throughputChart.y_axis.title = "Mem. Throughput (in Gbps)"
    throughputChart.add_serie(Serie(Reference(ws1, (2, 2), (2, 2 + counter)), labels=(Reference(ws1, (1, 1), (1, counter)))))
    ws1.add_chart(throughputChart)
    memEfficienyChart = LineChart()
    memEfficienyChart.y_axis.min = 0
    memEfficienyChart.y_axis.max = 100
    memEfficienyChart.add_serie(Serie(Reference(ws1, (3, 2), (3, 2 + counter)), labels=(Reference(ws1, (1, 1), (1, counter)))))
    memEfficienyChart.show_legend = False
    memEfficienyChart.y_axis.title = "Mem. Efficiency (in % of clock cycles used)"
    if(bwLatency == 2): memEfficienyChart.x_axis_title = "No. of Flows"
    elif(bwLatency == 1): memEfficienyChart.x_axis.title = "Input Throughput (in Gbps)"
    elif(bwLatency == 0): memEfficienyChart.x_axis.title = "Packet Size (in Bytes)"
    memEfficienyChart.x_axis.title = "Input Throughput (in Gbps)"
    ws1.add_chart(memEfficienyChart)
    #Latency Charts
    latencyChart = LineChart() # chart for the average Latency per access for all mem. accesses
    latencyChart.add_serie(Serie(Reference(ws2, (2, 2), (2, 2 + counter)), labels=(Reference(ws2, (1, 1), (1, counter)))))
Пример #10
0
 def test_error_bar(self):
     series = Serie(self.cell)
     from openpyxl.chart import ErrorBar
     series.error_bar = ErrorBar(None, self.cell)
     eq_(series.get_min_max(), (0, 0))
Пример #11
0
 def test_len(self):
     series = Serie(self.cell)
     eq_(len(series), 1)
Пример #12
0
 def test_min_max(self):
     series = Serie(self.cell)
     eq_(series.get_min_max(), (0, 0))
Пример #13
0
 def test_color(self):
     series = Serie(self.cell)
     eq_(series.color, None)
     series.color = "blue"
     eq_(series.color, "blue")
     assert_raises(ValueError, setattr, series, 'color', None)