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如何生成折线图 −
与 data_labels 一起,add_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'},})
数据标签和标记被添加到折线图中。
折线图还支持 stacked 和 percent_stacked 子类型。