python绘图技巧之matplotlib如何绘制双y轴曲线

共用一个横坐标轴,把两个不同量级的变量绘制在同一张折线图上
先上例图:
python绘图技巧之matplotlib如何绘制双y轴曲线_第1张图片
代码如下:

#需要输入横坐标,两个纵坐标,两个y轴的标签,和保存的文件路径/名,返回一张jpg
def doubley(x,y1,y2,labely1,labely2,name):
    fig = plt.figure()
    ax1 = fig.add_subplot(111)

    ax1.plot(x, y1,)
    ax1.set_ylabel('%s'%(labely1),size=20)

    ax2 = ax1.twinx()  # 设置双y轴
    ax2.plot(x, y2, 'r',)
    ax2.set_ylabel('%s'%(labely2),size=20,color='r')#右标签颜色为红色

    ax = plt.gca()#获取边框
    ax.spines['right'].set_color('red')  # 设置右边‘脊梁’为红色
    ax.spines['right'].set_linewidth(2)    
    ax.tick_params(axis ='y',colors ='r')#设置右边刻度值为红色

    plt.savefig('%s.jpg'%(name),dpi=300,)

dobley(x,y1,y2,'wind','depth','fig_name')

祝大家科研顺利,身心健康~
有更好的写法和例图欢迎分享~

你可能感兴趣的:(python学习笔记,matplotlib)