Python XlsxWriter 折线图


一条线显示了一系列数据点,这些数据点与 X 轴上的一条线相连。它是一个独立的轴,因为 X 轴上的值不依赖于垂直 Y 轴。

Y 轴是从属轴,因为它的值取决于 X 轴,结果是水平前进的线。

使用 XlsxWriter 折线图


生成 折线图 以编程方式使用 XlsxWriter,我们使用 添加系列() .图表对象的类型定义为' line '.

例子

在下面的例子中,我们将绘制 折线图 显示两个产品在六个月内的销售数据。将与产品 A 和产品 B 的销售数据相对应的两个数据系列添加到图表中 添加系列() method.

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

随着 数据标签 , the 添加系列() 方法也有 marker 财产。这在折线图中特别有用。数据点由标记符号表示,例如圆形、三角形、正方形、菱形等。让我们分配 circle and square 此图表中两个数据系列的符号。

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

折线图还支持 stacked and percent_stacked 亚型。

Sales Analysis2