饼图仅显示标签而不显示数据
问题描述:
我试图使用openpyxl创建饼图。图表正确显示标签,但没有派。另外我该如何改变图表的大小?我有大约28个标签,正如您在下面的图片中看到的,创建的图表窗口非常小以显示所有28个标签,我必须手动拉伸图表窗口。饼图仅显示标签而不显示数据
ws = wb.create_sheet(title="Tags Chart")
for idx, val in enumerate(label_list_for_col_header, start=1):
ws.cell(row=idx , column=1).value = val
for idx, val in enumerate(final_count, start=1):
ws.cell(row=idx , column=2).value = val
pie = PieChart()
labels = Reference(ws, min_col=1, min_row= 1, max_row=ws.max_row)
data = Reference(ws, min_col=2, min_row= 1 , max_row=ws.max_row)
pie.add_data(data, titles_from_data=False)
pie.set_categories(labels)
pie.title = "Bibliography by Tags"
ws.add_chart(pie, "C1")
答
数据被存储为文本而不是数字。所以我改变了str(z)到int(z)
+1
您需要尽可能避免不必要的类型转换。 openpyxl将为你处理大部分的事情。您的代码将更容易阅读和维护。 –
我刚发现问题,数据被存储在Excel中,因为不是数字。有问题的行是ws.cell(row = q,column = 2).value = str(z)。当我将str(z)更改为int(z)时,它工作正常。现在,我只需要如何调整图表区域的大小。 –
[大小和位置](http://openpyxl.readthedocs.org/en/default/charts/chart_layout.html#size-and-position) – Lafexlos
另外,如果你找到答案,你应该回答你自己的问题。 – Lafexlos