xlsxwriter 图表中 x 轴上的无序值和重复值

Unordered and repeated values on x-axis in a chart in xlsxwriter

我正在尝试使用 xlsxwriter 绘制不规则数据,其中 x 值无序且不唯一,例如 0、1、0、-1、0。使用图表类型 'line' 并添加包含 'categories'(对于 x 轴)和 'values'(y 轴)的选项的系列会导致图表的 x 轴标签按原始顺序 0、1、0、-1 , 0,但是我希望绘图具有规则的 x 轴 -1、0 和 1,绘制的线形成一个封闭区域。这可以用 xlsxwriter 实现吗?只需根据 Excel 2016 年内的类似数据绘制图表即可产生所需的行为。

Here you can find examples of stuff that can be done using xlswriter. Another package is openpyxl which is used for excel files manipulation and can be used for charts. Details for that are here.

在 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:$A',
    'values':     '=Sheet1!$B:$B',
})

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

workbook.close()

输出: