matplotlib twinx添加复合图例

14 篇文章 0 订阅
9 篇文章 0 订阅
#案例4
df1=pd.DataFrame({
    "月份":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],
    "平均气温":[2,4,7,4,18,29,30,34,10,5,6,3],
    "降水量":[4,5,5,6,21,30,37,45,28,12,10,9],
    "蒸发量":[1,2,4,3,19,21,20,13,9,3,4,2]
                 })
df1=df1.set_index("月份")

plt.figure(figsize=(10,6))
fig = plt.figure()
ax1 = fig.add_subplot(111)
width=0.8
#第一个图形
line1=ax1.bar(np.arange(1,13),df1["降水量"],width=width,color="green",label="降水量")
#第二个图形
line2=ax1.bar(np.arange(1,13),df1["蒸发量"],width=width,color="yellow",label="蒸发量")
ax2=ax1.twinx()#添加坐标轴,增加右边的y轴
line3=ax2.plot(np.arange(1,13),df1["平均气温"],color="purple",ls="-",marker=".",label="平均气温")

#设置刻度标签
ax1.set_xticks(np.arange(1,13))
ax1.set_xticklabels(list(df1["月份"]))
ax1.set_ylabel('降水量')
ax2.set_ylabel("气温")

#复合图例
ax_list=(line1, line2,line3[0])
lables=[name.get_label() for name in ax_list]#get_label()获取label
ax1.legend(ax_list,lables)#画图例

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

iku_ki

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

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

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

打赏作者

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

抵扣说明:

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

余额充值