2017-05-29 23 views
0

我想修改現有的xlsx表格並使用python中的openpyxl模塊添加圖形。在openpyxl中定製的系列標題python

但是,當創建折線圖時,系列標題顯示爲系列1,系列2,系列3,系列4,因爲我需要將系列標題重命名爲「A」,「B」,「C」 。d」(注:這個名字是不取任何細胞)

另一種可能的解決方案是從另一個工作表給系列名稱相同的工作表中除了行/列,但不能確定它是否是可行的

下面的代碼給我從工作表'ws'的行/列中的系列名稱。 但是我需要重命名它(自定義名稱)或從另一個工作表中分配系列名稱

任何人都可以幫助我。

c1 = LineChart() 
c1.title = worksheet 
c1.x_axis.title = "Average depth" 
c1.y_axis.title = "Average Response time (ms)" 
c1.y_axis.majorGridlines = None 

refseries1 = Reference(ws, min_col=5, min_row=2, max_col=5, max_row=9) 
seriesdata1 = Reference(ws, min_col=6, min_row=10, max_col=6, max_row=15) 

c1.add_data(data=seriesdata1,titles_from_data=False) 
c1.set_categories(refseries1) 

在上面的代碼中,refseries1是xaxis數據,seriesdata1是y軸數據。

回答

0

我發現在different question爲我工作的解決方案:

from openpyxl.chart import LineChart, Reference, Series 

chart1 = LineChart() 
# setup and append the first series 
values = Reference(dprsheet, min_col=2, min_row=1, max_row=34) 
series = Series(values, title="First series of values") 
chart1.append(series) 

# setup and append the second series 
values = Reference(dprsheet, min_col=3, min_row=1, max_row=34) 
series = Series(values, title="Second series of values") 
chart1.append(series) 

#set x-axis 
dates = Reference(dprsheet, min_col=2, min_row=1, max_row=34) 
chart1.set_categories(dates) 

這是一個有點比chart.add_data方法更加繁瑣,我會假設,如果你周圍挖的代碼該方法你會發現更多... pythony。