Python 仅显示标签而不显示数据的饼图

Python 仅显示标签而不显示数据的饼图,python,charts,openpyxl,Python,Charts,Openpyxl,我尝试使用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 = v

我尝试使用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)

我刚刚发现了问题,数据以stings而不是数字的形式存储在Excel中。出现问题的行是ws.cell(行=q,列=2)。value=str(z)。当我把str(z)改为int(z)时,它工作了。现在,我只需要调整图表区域的大小。此外,如果找到答案,您应该回答自己的问题。您需要尽可能避免不必要的类型转换。openpyxl将为您处理大部分问题。您的代码将更易于阅读和维护。