python绘图时如何添加图例_【Python】matplotlib 双y轴绘制及合并图例

本文介绍了如何使用Python的matplotlib库进行双Y轴绘制,并展示了如何合并图例。通过`twinx()`函数创建双Y轴,然后利用`legend()`方法处理图例,实现两个轴上的数据共享一个图例。示例代码中包含了两种合并图例的方法:一种是直接使用一个轴的`legend()`函数,另一种是使用`figure.legend()`。
摘要由CSDN通过智能技术生成

1.双y轴绘制 关键函数:twinx()

问题在于此时图例会有两个。

# -*- coding: utf-8 -*-

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)

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)

ax2.legend(loc=0)

plt.savefig('0.png')

每个句柄对应一个图例。

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMDU2MzEzLzIwMTgwMy8xMDU2MzEzLTIwMTgwMzA4MjAyNjE2ODU1LTE4Njg4ODQxMDEucG5n.jpg

2. 合并图例

1) 仅使用一个轴的legend()函数

# -*- coding: utf-8 -*-

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import rc

rc('mathtext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值