2015-05-19 105 views
1

我發現下面的圖片完全由我想要創建的圖表組成,但我無法弄清楚如何在零點以外的地方啓動它。有人知道如何解決這個問題嗎?如何在不啓動0的python xlsxwriter中創建條形圖?

enter image description here

作爲評價下面提到它與up_down_bars折線圖。 我怎樣才能得到這個工作的例子?

import xlsxwriter 

workbook = xlsxwriter.Workbook('chart_line.xlsx') 
worksheet = workbook.add_worksheet() 
bold = workbook.add_format({'bold': 1}) 

# Add the worksheet data that the charts will refer to. 
headings = ['Number', 'Batch 1', 'Batch 2'] 
data = [ 
    [2, 3, 4, 5, 6, 7], 
    [10, 40, 50, 20, 10, 50], 
    [30, 60, 70, 50, 40, 30], 
] 

worksheet.write_row('A1', headings, bold) 
worksheet.write_column('A2', data[0]) 
worksheet.write_column('B2', data[1]) 
worksheet.write_column('C2', data[2]) 

# Create a new chart object. In this case an embedded chart. 
chart1 = workbook.add_chart({'type': 'line'}) 

# Configure the first series. 
chart1.add_series({ 
    'name':  '=Sheet1!$B$1', 
    'categories': '=Sheet1!$A$2:$A$7', 
    'values':  '=Sheet1!$B$2:$B$7', 
}) 

# Configure second series. Note use of alternative syntax to define ranges. 
chart1.add_series({ 
    'name':  ['Sheet1', 0, 2], 
    'categories': ['Sheet1', 1, 0, 6, 0], 
    'values':  ['Sheet1', 1, 2, 6, 2], 
}) 

# Add a chart title and some axis labels. 
chart1.set_title ({'name': 'Results of sample analysis'}) 
chart1.set_x_axis({'name': 'Test number'}) 
chart1.set_y_axis({'name': 'Sample length (mm)'}) 
chart1.set_up_down_bars({ 
    'up': { 
     'fill': {'color': '#00B050'}, 
     'border': {'color': 'black'} 
    }, 
    'down': { 
     'fill': {'color': 'red'}, 
     'border': {'color': 'black'}, 
    }, 
}) 
# Set an Excel chart style. Colors with white outline and shadow. 
chart1.set_style(10) 

# Insert the chart into the worksheet (with an offset). 
worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) 


workbook.close() 
+0

*問:我怎樣才能得到這個工作的例子?*。您發佈的代碼是直接從文檔中發現的,它的工作原樣。我認爲你需要澄清你想要做的事情。 – jmcnamara

+0

是的,它可以工作,但我的圖中沒有任何條。所以我的問題是我怎樣才能在問題中得到上面的圖像的結果? – user934801

+1

我跑上面的程序,我看到輸出中的下拉條。你使用的是什麼版本的Excel和XlsxWriter? – jmcnamara

回答

1

我要去猜測,由「想不通怎麼到別的地方比從零開始吧」你的意思是你不想要的Y軸從0

啓動

您可以像在Excel中一樣更改它:通過更改軸範圍的最小值。請參閱文檔的set_x_axis()部分以及Working with Charts

chart.set_y_axis({'min': 10}) 

如果這不是你正在尋找的,那麼你可能需要澄清你的問題。

此外,爲避免混淆,上面的圖像不是條形圖。這是一個帶有Up-Down欄的折線圖。如果你需要一個條形圖,也顯示在文檔和示例中。

+0

嗨@jmcnamara對不起,我認爲這是一個組合圖。 – user934801

+0

不可以。這是[組合圖表的示例](https://xlsxwriter.readthedocs.org/example_chart_combined.html)。閱讀文檔的圖表部分,並查看文檔中的圖表示例,這應該是有道理的。 – jmcnamara