2017-02-01 104 views
1

我正在使用xlsxwriter製作餅圖。我想要繪製的列中有很多行,其值爲零。如果值爲零,是否可以從圖例中刪除? 因此,例如,在下列情況下,我不想表現出茵寶菲拉傳說中的 ​​Python:如果值== 0,則從Excel圖表圖例中刪除

應該我add_series功能是什麼樣的? 我看不到任何東西在這裏:https://media.readthedocs.org/pdf/pandas-xlsxwriter-charts/latest/pandas-xlsxwriter-charts.pdf

+0

FWIW,如果您有三個以上的數據點,請勿使用餅圖。有更好的圖表來做到這一點,例如單槓。對數據進行排序以繪製頂部的最高值。如果你想,過濾掉零, – teylyn

回答

1

從圖表圖例刪除系列名稱中的XlsxWriter API是set_legend()delete_series屬性,see the XlsxWriter docs

# Delete/hide series index 0 and 2 from the legend. 
# i.e., Series 1 and 3 from a 3 series chart. 
chart.set_legend({'delete_series': [0, 2]}) 

enter image description here

您需要確定哪些系列產品具有零值。

請注意,爲避免或增加混淆,值得指出的是,Excel中的餅圖與其他圖表有點不同。餅圖是指系列中的每一點,就好像它本身就是一個系列一樣。這就是每個點出現在圖例上的原因。

+0

謝謝!我可以發送一個列表或索引數組來刪除嗎?嘗試了各種方式,但似乎無法發送一個刪除列表。循環遍歷單個數組的列表也似乎只實現了最後的刪除 – Reise45

+0

我不太明白。上面的例子使用了一個列表,不是?你在問如何生成列表?我可能會使用列表理解來生成列表。也許這是一個單獨的問題。 – jmcnamara

+0

您好JMC,請幫助與餅圖壓制零值與類別 - https://stackoverflow.com/questions/47069256/how-to-suppress-category-in-excel-pie-chart-for-zero-值 – Selvam