Python matplotlib 绘制双Y轴曲线图的示例代码


Posted in Python onJune 12, 2020

Matplotlib简介

Matplotlib是非常强大的python画图工具
Matplotlib可以画图线图、散点图、等高线图、条形图、柱形图、3D图形、图形动画等。

Matplotlib安装

pip3 install matplotlib#python3

双X轴的
可以理解为共享y轴

ax1=ax.twiny()
ax1=plt.twiny()

双Y轴的
可以理解为共享x轴

ax1=ax.twinx()
ax1=plt.twinx()

自动生成一个例子

x = np.arange(0., np.e, 0.01)
y1 = np.exp(-x)
y2 = np.log(x)
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x, y1)
ax1.set_ylabel('Y values for exp(-x)')
ax1.set_title("Double Y axis")
ax2 = ax1.twinx() # this is the important function
ax2.plot(x, y2, 'r')
ax2.set_xlim([0, np.e])
ax2.set_ylabel('Y values for ln(x)')
ax2.set_xlabel('Same X for both exp(-x) and ln(x)')
plt.show()

Python matplotlib 绘制双Y轴曲线图的示例代码

例子:画了一个双y轴坐标的图表

# -*- coding: utf-8 -*-

#调用包
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt

#读取文件
io=r'E:\工作\专项\白骑士数据验证\白骑士数据汇总表.xlsx'
yinka=pd.read_excel(io,sheet_name='YINKA_sample')
bqs=pd.read_excel(io,sheet_name='BQS_result')
yinka_bqs=pd.merge(yinka,bqs,left_on='no',right_on='no',how='inner')

#绘图
fig,ax=plt.subplots(1,1,figsize=(20, 300))
ax.grid()     #画网格
x=total.index-1     
#为什么+1,因为对不齐,所以使用时根据情况编写
y=total['var1']
ax.plot(x,y,'k--o',alpha=0.5) #画折线图
ax.set_xlim([0,16])    
#设置x轴的取值范围   这个可以让x轴与y轴的起点一致
ax.set_xticks(np.arange(0,16)) #设置x轴的刻度范围
ax.set_xticklabels(np.arange(0,16),rotation=30) 
#设置x轴上的刻度

ax.set_ylim([0,1800])   #同理y轴数值范围
ax.set_yticks(range(0,1800,300))#设置y轴的刻度范围
ax.set_yticklabels(range(0,1800,300))#设置y轴上的刻度

ax.legend(loc='upper left')  #设置ax子图的图例(legend)
#新知识点
for a,b in zip(x,y):   #设置注释 zip函数是对应关系
 ax.text(a,b,b,ha='center',va='bottom',fontsize=15)
#重点
ax1=ax.twinx()     
#这个是能够实现双y轴的重点,共享x轴;还有一种是双x轴的图表换成ax.twiny()
y1=total[['adopt','reject']]
y1.plot.bar(ax=ax1,alpha=0.5) 
#这个是matplotlib中条形图的绘制方法,如果使用seaborn绘制方法使用sns.barplot()函数,需要调整很多细节
#这里只设置了y轴的刻度,x轴的刻度设置了一下偶尔会出现失败,值得注意的是要将数据对齐
ax1.set_ylim([0,1800])
ax1.set_yticks(range(0,1800,300))
ax1.set_yticklabels(range(0,1800,300))
for e,f,w in zip(data_.index,data_[0],data_[1]):
 ax1.text(e-1,f,f,ha='center',va='bottom',fontsize=10,color='b')
 ax1.text(e-1,w,w,ha='center',va='bottom',fontsize=10,color='g')
ax1.legend(loc='best')
plt.show()   #养成习惯这个最好写一下#
#保存图片
plt.savefig('path') #图表输出到本地

结果显示:

Python matplotlib 绘制双Y轴曲线图的示例代码

总结

到此这篇关于Python matplotlib 绘制双Y轴曲线图的文章就介绍到这了,更多相关Python matplotlib 曲线图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
优化Python代码使其加快作用域内的查找
Mar 30 Python
Python读写ini文件的方法
May 28 Python
使用Python编写基于DHT协议的BT资源爬虫
Mar 19 Python
Python性能提升之延迟初始化
Dec 04 Python
selenium+python实现自动登录脚本
Apr 22 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python打包exe开机自动启动的实例(windows)
Jun 28 Python
Python 70行代码实现简单算式计算器解析
Aug 30 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
python opencv 实现对图像边缘扩充
Jan 19 Python
利用python中集合的唯一性实现去重
Feb 11 Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 Python
keras的siamese(孪生网络)实现案例
Jun 12 #Python
基于python实现模拟数据结构模型
Jun 12 #Python
Python-for循环的内部机制
Jun 12 #Python
Python Scrapy图片爬取原理及代码实例
Jun 12 #Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 #Python
Selenium自动化测试工具使用方法汇总
Jun 12 #Python
Python使用socketServer包搭建简易服务器过程详解
Jun 12 #Python
You might like
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
PHP4引用文件语句的对比
2006/10/09 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
js中replace的用法总结
2013/12/27 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python实现狄克斯特拉算法
2019/01/17 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
2019/10/25 Python
python常用排序算法的实现代码
2019/11/08 Python
django从后台返回html代码的实例
2020/03/11 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
销售文员的岗位职责
2013/11/20 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
导游词之吉林花园山
2019/10/17 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python