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实现拼接多张图片的方法
Dec 01 Python
关于python的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
import的本质解析
Oct 30 Python
pandas数据清洗,排序,索引设置,数据选取方法
May 18 Python
对django xadmin自定义菜单的实例详解
Jan 03 Python
python3安装crypto出错及解决方法
Jul 30 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
python Django 反向访问器的外键冲突解决
May 20 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
python 发送邮件的四种方法汇总
Dec 02 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 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
php实现分页工具类分享
2014/01/09 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
jQuery Validate 数组 全部验证问题
2017/01/12 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue debug 二种方法
2018/09/16 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
序列化模块json代码实例详解
2020/03/03 Javascript
Python中DJANGO简单测试实例
2015/05/11 Python
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
python线程、进程和协程详解
2016/07/19 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
破解安装Pycharm的方法
2018/10/19 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
酒店执行总经理岗位职责
2013/12/15 职场文书
校园文化建设方案
2014/02/03 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
供电工程专业求职信
2014/08/09 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
共青团员自我评价
2015/03/10 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python