我一直使用this guide作为使用openpyxl创建图表的主要资源。所有示例似乎都是以下形式:
HEADER1 HEADER 2 HEADER 3
X1 Y11 Y12
X2 Y12 Y22
.....
因此,类别将是第一列,数据系列将是其他列。我想知道的是我们可以使用这样的数据吗?
X1 X2 X3 ...
Y11 Y12 Y13
Y21 Y22 Y23
似乎无论我设置的类别(在下面的代码中),openpyxl都试图告诉我我的数据是以第一种方式布局的。请注意,此代码被调用5次,并且图表的典型col / row值集为:
min_row = 3 max_row = 3 min_col = 6 max_col = 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')
答案 0 :(得分:2)
add_data()
使用from_rows
参数,默认值为False
。