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

时间:2016-11-14 06:54:44

标签: python plot xlsxwriter

我试图使用xlsxwriter绘制不规则数据,其中x值是无序的而不是唯一的,例如0,1,0,-1,0。使用图表类型' line'并添加包含两个'类别'的选项的系列(对于x轴)和'值' (y轴)产生一个图表,其x轴标签的原始顺序为0,1,0,-1,0,但我希望该图的常规x轴为-1,0和1 ,绘制的线形成一个封闭区域。这可以通过xlsxwriter实现吗?只需在Excel 2016中根据类似数据绘制图表,即可获得所需的行为。

2 个答案:

答案 0 :(得分:1)

Here你可以找到可以使用xlswriter完成的事情的例子。另一个包是openpyxl,用于excel文件操作,可用于图表。详细信息为here

答案 1 :(得分:0)

在Excel中,您使用的line图表类型只能绘制固定类别。您需要使用的是scatter图表类型,用于绘制X-Y数据。

这样的事情:

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

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

workbook.close()

输出: enter image description here