我有一個包含6個選項卡(工作表)的excel文件。每個工作表都具有相同的結構幷包含兩列 - 第1列包含品牌名稱,第2列包含與每個品牌對應的值。對於excel文件中的每張表格,我想製作一個餅圖,顯示每個品牌的%份額。xlsxwriter - Excel餅圖圖例 - python
你可以用它來運行該腳本上是here
我寫的代碼非常簡單,並生成圖表的例子xls文件。問題在於圖表的圖例需要序列號名稱而不是品牌的名稱。
import pandas as pd
import xlsxwriter as excel
df = pd.read_excel("/Users/jack/Documents/python-pptx/filename", sheetname=None)
workbook = excel.Workbook('/Users/jack/Documents/python-pptx/chart_pie.xlsx')
for sheetname, data in df.iteritems():
if len(data) > 0:
worksheet = workbook.add_worksheet(sheetname)
chart = workbook.add_chart({'type': 'pie'})
worksheet.write_column('A1', data['Brand'])
worksheet.write_column('B1', data['Share_of_interactions'])
chart.add_series({'categories': '='+sheetname+'!$A$1:$A$'+str(len(data)),
'values': '='+sheetname+'!$B$1:$B$'+str(len(data)),
'name': '='+sheetname+'!$A$1:$A$'+str(len(data))})
## insert chart into the worksheet
worksheet.insert_chart('C3', chart)
## Close the workbook
workbook.close()
以下是圖表的屏幕截圖:
如果在圖表的傳說1,2,3注意到..。 。 7。它實際上應該是說品牌名稱。如xlsxwriter
- http://xlsxwriter.readthedocs.io/chart.html文檔中所述,我已將名稱參數添加到chart.add_series
。任何幫助將非常感激。
介意分享您的數據幀的樣本'df'? –
@JulienMarrec讓我把它放在一起,並分享它。 – vagabond
我已經分享了一個excel文件的鏈接。您可以使用它來運行該腳本。 – vagabond