Python XlsxWriter - 折線圖



折線圖顯示一系列資料點,這些資料點沿 X 軸用線連線起來。它是一個自變數軸,因為 X 軸上的值不依賴於垂直 Y 軸。

Y 軸是一個因變數軸,因為它的值取決於 X 軸,結果是水平發展的線。

使用 XlsxWriter 折線圖

要使用 XlsxWriter 以程式設計方式生成折線圖,我們使用add_series()。圖表物件的型別定義為'line'。

示例

在下面的示例中,我們將繪製一個折線圖,顯示兩種產品在六個月內的銷售額。使用add_series()方法向圖表中添加了兩個與產品 A 和產品 B 的銷售額相對應的資料系列。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
headings = ['Month', 'Product A', 'Product B']

data = [
   ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June'],
   [10, 40, 50, 20, 10, 50],
   [30, 60, 70, 50, 40, 30],
]

bold=wb.add_format({'bold':True})
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

chart1 = wb.add_chart({'type': 'line'})

chart1.add_series({
   'name': '=Sheet1!$B$1',
   'categories': '=Sheet1!$A$2:$A$7',
   'values': '=Sheet1!$B$2:$B$7',
})
chart1.add_series({
   'name': ['Sheet1', 0, 2],
   'categories': ['Sheet1', 1, 0, 6, 0],
   'values': ['Sheet1', 1, 2, 6, 2],
})
chart1.set_title ({'name': 'Sales analysis'})
chart1.set_x_axis({'name': 'Months'})
chart1.set_y_axis({'name': 'Units'})

worksheet.insert_chart('D2', chart1)

wb.close()

輸出

執行上述程式後,XlsxWriter 將生成如下所示的折線圖:

Sales Analysis

除了data_labelsadd_series()方法還有一個marker屬性。這在折線圖中尤其有用。資料點用標記符號表示,例如圓形、三角形、正方形、菱形等。讓我們在這個圖表中為兩個資料系列分別分配圓形正方形符號。

chart1.add_series({
   'name': '=Sheet1!$B$1',
   'categories': '=Sheet1!$A$2:$A$7',
   'values': '=Sheet1!$B$2:$B$7',
   'data_labels': {'value': True},
   'marker': {'type': 'circle'},
})
chart1.add_series({
   'name': ['Sheet1', 0, 2],
   'categories': ['Sheet1', 1, 0, 6, 0],
   'values': ['Sheet1', 1, 2, 6, 2],
   'data_labels': {'value': True},
   'marker': {'type': 'square'},})

資料標籤和標記已新增到折線圖中。

Sales Analysis1

折線圖也支援堆疊百分比堆疊子型別。

Sales Analysis2
廣告
© . All rights reserved.