python双y轴加图例合并

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以帮你解决这个问题。你可以使用 matplotlib 的 `twinx()` 和 `twiny()` 方法来创建第二个 x 轴和 y 轴,并使用 `plot()` 方法画出多条曲线。 下面是一个例子: ```python import matplotlib.pyplot as plt import numpy as np # 生成数据 x = np.linspace(0, 10, 100) y1 = np.sin(x) y2 = np.cos(x) y3 = np.tan(x) # 创建图像对象和第一个坐标轴 fig, ax1 = plt.subplots() # 画第一条曲线 ax1.plot(x, y1, color='r', label='sin') # 设置第一个坐标轴的标签和颜色 ax1.set_xlabel('x') ax1.set_ylabel('sin(x)', color='r') ax1.tick_params(axis='y', labelcolor='r') # 创建第二个坐标轴 ax2 = ax1.twinx() # 画第二条曲线 ax2.plot(x, y2, color='g', label='cos') # 设置第二个坐标轴的标签和颜色 ax2.set_ylabel('cos(x)', color='g') ax2.tick_params(axis='y', labelcolor='g') # 创建第三个坐标轴 ax3 = ax1.twiny() # 画第三条曲线 ax3.plot(x, y3, color='b', label='tan') # 设置第三个坐标轴的标签和颜色 ax3.set_xlabel('tan(x)', color='b') ax3.tick_params(axis='x', labelcolor='b') # 添图例 lines, labels = ax1.get_legend_handles_labels() lines2, labels2 = ax2.get_legend_handles_labels() lines3, labels3 = ax3.get_legend_handles_labels() ax3.legend(lines + lines2 + lines3, labels + labels2 + labels3, loc='best') # 显示图像 plt.show() ``` 在这个例子中,我们创建了一个图像对象 `fig` 和一个坐标轴对象 `ax1`,然后使用 `plot()` 方法画出第一条曲线。接着,我们使用 `twinx()` 方法创建了第二个 y 轴,并使用 `plot()` 方法画出第二条曲线。最后,我们使用 `twiny()` 方法创建了第二个 x 轴,并使用 `plot()` 方法画出第三条曲线。 注意,我们需要分别设置每个坐标轴的标签和颜色,并使用 `tick_params()` 方法设置每个坐标轴的刻度标签颜色。同,我们需要使用 `get_legend_handles_labels()` 方法获取每个坐标轴的图例,并使用 `legend()` 方法将它们合并一起。 希望这个例子能够帮助你画出多条曲线的 x 轴 y 轴图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

balabalahoo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值