我可以从“水平”数据在Openpyxl中创建条形图(柱形图)吗?

2024-09-26 04:52:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直使用this guide作为使用openpyxl创建图表的主要资源。所有的例子都是这样的:

页眉1页眉2页眉3
X1 Y11 Y12
X2 Y12 Y22年
..... 在

所以categories将是第一列,data series将是其他列。我想知道的是我们能用这样的数据工作吗?在

X1 X2 X3…
Y11 Y12 Y13
Y21 Y22 Y23年

不管我将什么设置为may categories(在下面的代码中),openpyxl都试图告诉我,我的数据是以第一种方式布局的。请注意,此代码被调用5次,图表的典型列/行值集是:

最小行=3 最大行=3 最小值=6 最大值=27

    if draw_charts == True:
        chart = BarChart()
        chart.type = "col"
        chart.style = 10
        chart.title = "Channel " + str(channel_name) + " Stdevs " + str(stdevs)
        chart.x_axis.title = 'Time Diff (s)'
        chart.y_axis.title = 'Counts'

        values = Reference(ws2, min_col = 6, min_row = 3 + index * 2, max_col = 5 + bins, max_row=3 + index * 2)
        categories = Reference(ws2, min_col=6, min_row = 2 + index * 2, max_col = 5 + bins, max_row=2 + index * 2)
        chart.add_data(values, titles_from_data=True)
        chart.set_categories(categories)
        ws2.add_chart(chart, num2col(col2num('A') + index * 6) + '22')

Tags: dataindextitlechart图表colminmax