#案例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)#画图例
matplotlib twinx添加复合图例
最新推荐文章于 2024-08-29 13:18:08 发布