matplotlib双y轴,共用同一x轴的画法图像的画法

matplotlib双y轴的画法

在我们使用matplotlib画图的时候,有时候需要将两个折线图放在同一个图像中,但是由于这两个图形数值大小范围不一样,使用同一y轴,效果会大打折扣的,所以,这里介绍一种双y轴的画法。

先上代码:

import matplotlib.pyplot as plt
import pandas as pd

tips = pd.read_csv('tips.csv')
fig = plt.figure()
ax1 = fig.add_subplot(111)
tips = tips.groupby('day').sum()[['total_bill','tip']]#根据时间进行对数据的求和,并显示total_bill 和tip数据
plt.rcParams['font.sans-serif']=['SimHei']#这两句作用为防止中文乱码
plt.rcParams['axes.unicode_minus']=False

ax1.plot(tips.index,tips['total_bill'],label='总账单金额',color='red')#折线图1的画法
plt.legend(loc='upper left')图例1
ax2 = ax1.twinx()#使用ax1相同的x轴
ax2.plot(tips.index,tips['tip'],label='小费',color='green')#折线图2的画法
plt.legend(loc='upper right')#图例2
plt.title("双y轴折线图")
plt.show()

在这里插入图片描述

从图中我们能够看到,同样是x轴的时间作为变量,两个y轴的衡量尺度是不一样的。
其他的代码我都有注释,这里着重介绍一下下面这两句
fig = plt.figure() 这一句是获取当前图形
ax1 = fig.add_subplot(111) 这一句是添加一个新的坐标轴 参数就按照我写的。

使用同样的方法可以画直方图,散点图等。

发布了67 篇原创文章 · 获赞 54 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/lzx159951/article/details/104398219