簡體   English   中英

我可以根據“水平”數據在Openpyxl中創建條形圖嗎?

[英]Can I create a bar (column) chart in Openpyxl from “horizontal” data?

我一直使用本指南作為使用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')

add_data()采用from_rows參數,默認from_rows False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM