使图表openpyxl类别未被选中

时间:2018-02-07 10:37:48

标签: python excel graph openpyxl

我试图制作图表并使用我的Excel工作表列作为类别标签。我运行了.set_categories,它返回了一个正确的' =表!$ A1:$ A12'海峡。但是生成的图形不使用类别,只是用数字标记图形。 调整图表大小不起作用。 我试过包括' A'在我的数据变量中。但它包含了作为系列的类名,只有一次我编辑图形,翻转轴然后翻转......它确实...... 有人可以查看我的代码,看看是否有任何明显的问题。感谢

#Add chart to Worksheet
chart = BarChart()

#chart.add_data(values)
cats = Reference(ws1, min_col=1, min_row=2, max_col=1, max_row=p+1)
print(cats)
data = Reference(ws1, min_col=2, min_row=1, max_col=3, max_row=p+1)
chart.set_categories(cats)
chart.x_axis.tickLblSkip = 1 #test
chart.add_data(data=data, titles_from_data=True) #test
chart.type = "bar"
chart.style = 10
chart.grouping = "percentStacked"
chart.overlap = 100
chart.title = 'Classes Visualised'
ws1.add_chart(chart, "E15")

pic of resulting graph

1 个答案:

答案 0 :(得分:1)

所以我把它解决了。对于将来困惑的人。 数据和类别的顺序很重要。 解决方案是

chart.add_data(data=data, titles_from_data=True) #1
chart.set_categories(cats) #2