2015-12-22 389 views
0

我試圖使用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") 

+0

我剛發現問題,數據被存儲在Excel中,因爲不是數字。有問題的行是ws.cell(row = q,column = 2).value = str(z)。當我將str(z)更改爲int(z)時,它工作正常。現在,我只需要如何調整圖表區域的大小。 –

+0

[大小和位置](http://openpyxl.readthedocs.org/en/default/charts/chart_layout.html#size-and-position) – Lafexlos

+2

另外,如果你找到答案,你應該回答你自己的問題。 – Lafexlos

回答

2

數據被存儲爲文本而不是數字。所以我改變了str(z)到int(z)

+1

您需要儘可能避免不必要的類型轉換。 openpyxl將爲你處理大部分的事情。您的代碼將更容易閱讀和維護。 –