在python中创build饼图

我已经创build了我的饼图,但是现在我正在使用一系列像这样的单元格:

chart3.add_series({ 'name': 'Pie data', 'categories': '=Pivots!$A$3:$A$10', 'values': '=Pivots!$F$3:$F$10'}) 

这给了我一个在A3-A10中find的类别的饼图和从单元格F3-F10对应的值。 我遇到的问题是不幸的是我并不总是会在每个这些单元格中有数据。 所以我可能有一个工作表中的数据在类别和值可能范围从A3 – A6和值= F3 – F6,有时它只有数据范围从A3 – A9和值= F3 – F9。 我的问题是,当我显示不同的工作表,他们有缺less的领域的传说,我想知道如果他们是一种方式来获得的类别和F3的长度获得的值,所以当我的传说是显示它只显示和表示数据的行。

假设这是一个dynamic隐藏没有数据的行的选项,那么有一个相当简单的解决scheme。

我重新编写了xlsxwriter文档中使用的一些示例数据,然后查找了任何Nan值。 如果有的话,这些是隐藏的,因此不在饼图中。

 import xlsxwriter import pandas as pd headings = ['Category', 'Values'] data = [ ['Apple', 30],['Cherry', 20],['Pecan',15],['Blueberry', 10],['Pumpkin', 10], ['Mince', float('nan')],['Custard', 3],['Potato', 2], ] pies = pd.DataFrame(data, columns = headings) nan_rows = pies.loc[pies['Values'].isnull()].index.values hide_rows = nan_rows + 2 workbook = xlsxwriter.Workbook('test.xlsx', {'strings_to_numbers': True, 'strings_to_formulas': True, 'nan_inf_to_errors': True}) ws = workbook.add_worksheet('Pivots') ws.write('A2', headings[0]) ws.write('F2', headings[1]) ws.write_column('A3', pies['Category']) ws.write_column('F3', pies['Values']) chart3 = workbook.add_chart({'type': 'pie'}) chart3.add_series({ 'name': 'Pie data', 'categories': '=Pivots!$A$3:$A$10', 'values': '=Pivots!$F$3:$F$10'}) chart3.set_title({'name': 'Popular Pie Types'}) chart3.set_style(10) ws.insert_chart('G11', chart3, {'x_offset': 25, 'y_offset': 10}) #This is where we hide the rows in list called hide_rows for row_position in hide_rows: ws.set_row(row_position, None, None, {'hidden': True}) workbook.close() 

在这里输入图像说明