我可以根据 "horizontal" 数据在 Openpyxl 中创建条形图(柱形图)吗?

Can I create a bar (column) chart in Openpyxl from "horizontal" data?

我一直在使用 this guide 作为我使用 openpyxl 创建图表的主要资源。那里的所有示例似乎都是以下形式:

页眉 1 页眉 2 页眉 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')

add_data() 采用 from_rows 参数,默认为 False