python绘图时如何添加图例_python - 带有twinx()的辅助轴:如何添加到图例?

python - 带有twinx()的辅助轴:如何添加到图例?

我有一个带有两个y轴的图,使用twinx().我也给线条标签,并想用legend()显示它们,但我只能成功获得图例中一个轴的标签:

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import rc

rc('mathtext', default='regular')

fig = plt.figure()

ax = fig.add_subplot(111)

ax.plot(time, Swdown, '-', label = 'Swdown')

ax.plot(time, Rn, '-', label = 'Rn')

ax2 = ax.twinx()

ax2.plot(time, temp, '-r', label = 'temp')

ax.legend(loc=0)

ax.grid()

ax.set_xlabel("Time (h)")

ax.set_ylabel(r"Radiation ($MJ\,m^{-2}\,d^{-1}$)")

ax2.set_ylabel(r"Temperature ($^\circ$C)")

ax2.set_ylim(0, 35)

ax.set_ylim(-20,100)

plt.show()

所以我只得到图例中第一个轴的标签,而不是第二个轴的标签“temp”。 我怎么能将这第三个标签添加到图例中?

MdCYW.png

6个解决方案

255 votes

您可以通过添加以下行来轻松添加第二个图例:

ax2.legend(loc=0)

你会得到这个:

DLZkF.png

但是如果你想要一个传奇上的所有标签,那么你应该做这样的事情:

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import rc

rc('mathtext', default='regular')

time = np.arange(10)

temp = np.random.random(10)*30

Swdown = np.random.random(10)*100-10

Rn = np.random.random(10)*100-10

fig = plt.figure()

ax = fig.add_subplot(111)

l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值