openpyxl3.0官方文档(19)—— 添加第二个轴

本文介绍如何使用Python的openpyxl库创建包含两个y轴的图表,其中一个为条形图显示外星人数据,另一个为折线图显示人类数据,两个图表共享同一x轴,展示了如何设置图表样式和保存到Excel文件。

添加第二个轴实际上涉及创建第二个图表,该图表与第一个图表共享一个公共x轴,但具有单独的y轴。

    from openpyxl import Workbook
    from openpyxl.chart import (
        LineChart,
        BarChart,
        Reference,
        Series,
    )
    
    wb = Workbook()
    ws = wb.active
    
    rows = [
        ['Aliens', 2, 3, 4, 5, 6, 7],
        ['Humans', 10, 40, 50, 20, 10, 50],
    ]
    
    for row in rows:
        ws.append(row)
    
    c1 = BarChart()
    v1 = Reference(ws, min_col=1, min_row=1, max_col=7)
    c1.add_data(v1, titles_from_data=True, from_rows=True)
    
    c1.x_axis.title = 'Days'
    c1.y_axis.title = 'Aliens'
    c1.y_axis.majorGridlines = None
    c1.title = 'Survey results'
    
    
    # Create a second chart
    c2 = LineChart()
    v2 = Reference(ws, min_col=1, min_row=2, max_col=7)
    c2.add_data(v2, titles_from_data=True, from_rows=True)
    c2.y_axis.axId = 200
    c2.y_axis.title = "Humans"
    
    # Display y-axis of the second chart on the right by setting it to cross the x-axis at its maximum
    c1.y_axis.crosses = "max"
    c1 += c2
    
    ws.add_chart(c1, "D4")
    
    wb.save("secondary.xlsx")
    

这将生成一个组合的折线图和条形图,看起来像这样:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值