在python中更改xlsxwriter中的x轴

时间:2014-12-14 00:11:09

标签: python excel charts xlsxwriter

我试图了解如何在x轴上使用min和max。我可以在y轴上进行,但无法弄清楚如何在x轴上进行。我正在使用这个例子来测试它并且也没有在那里工作。任何帮助或建议将不胜感激。下面是我正在使用的代码。你可以看到y轴使用最小调用,但x轴不是

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_line.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': 1})

# Add the worksheet data that the charts will refer to.
headings = ['Number', 'Batch 1', 'Batch 2']
data = [
    [2, 3, 4, 5, 6, 7],
    [10, 40, 50, 20, 10, 50],
    [30, 60, 70, 50, 40, 30],
]

worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

# Create a new chart object. In this case an embedded chart.
chart1 = workbook.add_chart({'type': 'line'})

# Configure the first series.
chart1.add_series({
    'name':       '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values':     '=Sheet1!$B$2:$B$7',
})

# Configure second series. Note use of alternative syntax to define ranges.
chart1.add_series({
    'name':       ['Sheet1', 0, 2],
    'categories': ['Sheet1', 1, 0, 6, 0],
    'values':     ['Sheet1', 1, 2, 6, 2],
})

# Add a chart title and some axis labels.
chart1.set_title ({'name': 'Results of sample analysis'})
chart1.set_x_axis({'name': 'Test number',
                             'min': 3})
chart1.set_y_axis({'name': 'Sample length (mm)',
               'min': 20})

# Set an Excel chart style. Colors with white outline and shadow.
chart1.set_style(10)

# Insert the chart into the worksheet (with an offset).
worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10})


workbook.close()

1 个答案:

答案 0 :(得分:0)

对于类别轴(如折线图中的x轴),Excel不支持最大值和最小值。

有关Chart Value and Category Axes之间差异的解释,请参阅XlsxWriter文档。另请注意,图表x-axis的属性列出了它们适用的轴类型。

如果要绘制折线图,​​则可以切换到具有值轴的scatter plot with lines,并且支持最大/最小值。