Matplotlib设置次坐标轴

原文地址

分类目录——Matplotlib

有时候可能会有这种需求,一个图中的几条线的y轴范围不同,或者根本不是一个单位,这时可以增加另外一个y轴,标上不同的刻度。

  • 先看效果

    1582078480634

  • 导入支持包

    import matplotlib.pyplot as plt
    import numpy as np
    
  • 生成测试数据

    x = np.arange(0, 10, 0.1)
    y1 = 0.05 * x**2
    y2 = -1 * y1
    
  • 生成画布

    fig, ax1 = plt.subplots()
    
  • 共用x轴

    ax2 = ax1.twinx()
    
  • 画图

    ax1.set_xlabel('X data')
    # 画基于左轴的曲线
    ax1.plot(x, y1, 'g-')   # green, solid line
    ax1.set_ylabel('Y1 data', color='g')
    # 画基于右轴的曲线
    ax2.plot(x, y2, 'b--') # blue, dashed line
    ax2.set_ylabel('Y2 data', color='b')
    # 出图
    plt.show()
    

    出图结果如文首图所示

  • 同理可以共用一个y轴,甚至次x轴

    y = np.arange(0, 10, 0.1)
    x1 = 0.05 * y**2
    x2 = -1 * x1
    
    fig, ax1 = plt.subplots()
    
    ax2 = ax1.twiny()
    
    ax1.set_ylabel('Y data')
    
    ax1.plot(x1, y, 'g-')   # green, solid line
    ax1.set_xlabel('X1 data', color='g')
    
    ax2.plot(x2, y, 'b--') # blue, dashed line
    ax2.set_xlabel('X2 data', color='b')
    
    plt.show()
    

    出图如下

    1582079157613

  • 参考文献

    程序主要来自 次坐标轴,略有改动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BBJG_001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值