Python-matplotlib制图01——双y轴图绘制

愿你历经千辛万苦,归来仍是少年!

Python-matplotlib制图01——双y轴图绘制

  • 前言
    •   1. 概述
    •   2. 版本
      •    2.1 山东青岛,2021年4月5日,Version 1
    •   3. 参考资料
  • 一、ax.twinx()方法绘制双y轴图


前言

  1. 概述

  基于Python的matplotlib库绘制双y轴图

  2. 版本

   2.1 山东青岛,2021年4月5日,Version 1

  3. 参考资料

[1] matplotlib双y轴绘制及合并图例


一、ax.twinx()方法绘制双y轴图

代码示例:

"""
1. 程序目的
   (1) 学习基于matplotlib绘制双y轴图
   
2. 版本
   2.1 山东青岛  2021年4月23日 Version 1
   
3. 数据

4. 参考资料
   [1] matplotlib双y轴绘制及合并图例(https://www.cnblogs.com/Atanisi/p/8530693.html) 

"""

# 1. 相关包的导入
  
import numpy as np
import pandas as pd

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  #显示中文
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

from matplotlib.pyplot import MultipleLocator

# 2. 创建绘图数据
month = np.arange(1,13)
precipitation = [10,15,30,40,50,80,100,120,55,45,30,10]
temperature = [-15,-10,5,15,20,27,35,30,26,15,5,-10]

# 3. 双y轴图绘制
fig = plt.figure(figsize=(5,3),dpi=600) # 创建绘图窗口
  # 3.1 降水
ax_pre = fig.add_subplot(111)
pre_bar = ax_pre.bar(month,precipitation,
                     color='blue',
                     label='降水')
fontdict1 = {'size':11,'color':'k','weight':'normal','family':'SimHei'}
ax_pre.set_ylabel('降水(mm)',fontdict=fontdict1,labelpad=0)
ax_pre.set_xlabel('月')

  # 3.2 温度
ax_tem = ax_pre.twinx() # 共用x轴
tem_line = ax_tem.plot(month,temperature,marker='o',
                       markersize=3,color='r',linewidth=1,
                      label='温度')
ax_tem.set_ylabel('温度(℃)',fontdict=fontdict1,labelpad=0)

  # 添加图例
fig.legend(loc=0,bbox_to_anchor=(1,1), bbox_transform=ax_pre.transAxes)

# 4. 制图结果保存
plt.savefig('PreTas.jpg',width=5,height=3,dpi=600,bbox_inches='tight')
       

制图结果如下:
Python-matplotlib制图01——双y轴图绘制_第1张图片


你可能感兴趣的:(07_Python基础知识,可视化,python)