2016-11-14 85 views
1

我想繪製使用xlsxwriter,其中x值無序且不唯一,例如0,1,0,1,0的不規則數據。使用圖表類型'line'並添加包含'categories'(對於x軸)和'values'(y軸)選項的系列會生成一個圖表,其中原始順序爲0,1的x軸標籤,0,-1,0,但是我希望繪圖具有-1,0和1的正常x軸,繪製的線形成一個封閉區域。這可能與xlsxwriter實現嗎?只需從Excel 2016中的類似數據繪製圖表即可獲得所需的行爲。xlsxwriter中的圖表中的x軸無序和重複的值

回答

0

在Excel中,您使用的line圖表類型只能繪製固定類別。您需要使用的是用於繪製X-Y數據的scatter圖表類型。

事情是這樣的:

import xlsxwriter 

workbook = xlsxwriter.Workbook('chart.xlsx') 
worksheet = workbook.add_worksheet() 

# Create a new Chart object. 
chart = workbook.add_chart({'type': 'scatter', 
          'subtype': 'straight_with_markers'}) 

# Write some data to add to plot on the chart. 
worksheet.write_column('A1', [0, 1, 0, -1, 0]) 
worksheet.write_column('B1', [1, 2, 3, 2, 1]) 

# Configure the charts. 
chart.add_series({ 
    'categories': '=Sheet1!$A$1:$A$5', 
    'values':  '=Sheet1!$B$1:$B$5', 
}) 

# Insert the chart into the worksheet. 
worksheet.insert_chart('D1', chart) 

workbook.close() 

輸出: enter image description here

1

Here你可以找到可以使用xlswriter完成的東西的例子。另一個包是用於excel文件操作的openpyxl,可用於圖表。詳細信息是here

+0

我通過xlswriter的文件看,但找不到與我的問題的例子。原來我應該使用散點圖,正如jmcnamara指出的那樣。 – wedjati