我们如何在python的“openpyxl”包中绘制两个系列的数据(折线图)

2024-04-24

假设我们有这样的代码:

  from openpyxl import Workbook
    wb = Workbook()
    ws = wb.active

    for row in range(1,10):
            value = ws.cell(row=row,column=1).value = row+5

    for row in range(1,10):
            value2 = ws.cell(row=row,column=2).value = row

    wb.save("SampleChart.xlsx")
    from openpyxl.charts import Reference, Series,LineChart

    values = Reference(ws, (1, 1), (9, 1))
    series = Series(values, title="First series of values")
    chart = LineChart()
    chart.append(series)
    chart.drawing.name = 'This is my chart'
    ws.add_chart(chart)
    wb.save("SampleChart.xlsx")

如何将第二列值绘制到同一折线图上? (并添加legend)?


我稍微重新排列了您的代码,以便在创建系列之前声明图表及其属性。然后,只需在第二个值范围上重复创建系列即可。据我所知,除非我误解了这个问题,否则 Excel 会自动创建图例。

from openpyxl import Workbook
wb = Workbook()
ws = wb.active

for row in range(1,10):
        value = ws.cell(row=row,column=1).value = row+5

for row in range(1,10):
        value2 = ws.cell(row=row,column=2).value = row

wb.save("SampleChart.xlsx")

from openpyxl.charts import Reference, Series,LineChart

# setup the chart
chart = LineChart()
chart.drawing.name = 'This is my chart'

# setup and append the first series
values = Reference(ws, (1, 1), (9, 1))
series = Series(values, title="First series of values")
chart.append(series)

# setup and append the second series
values = Reference(ws, (1, 2), (9, 2))
series = Series(values, title="Second series of values")
chart.append(series)

ws.add_chart(chart)
wb.save("SampleChart.xlsx")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们如何在python的“openpyxl”包中绘制两个系列的数据(折线图) 的相关文章

随机推荐