python实现在一个画布绘制多张双y轴折线图,y轴数据大小不一样,怎么hua?
问题的提出
寻找资料时,发现要么是将多张图绘制在同一画布之上,要么是一张图绘制多条曲线,还有就是绘制双Y轴曲线图,而本人想将四张双Y轴折线图呈现在同一个画布之上,也就是使得四个两两坐标尺度不同的图片绘制在一张图之上,这就需要结合上述方法。
直接上图
实现代码
一句话: 将画布分为左上左下、右上右下的四跨区域,然后在每块区域中画出两个不同Y轴的折线图
import pandas as pd
import matplotlib.pyplot as pltrate = pd.read_csv('文件.csv', encoding="utf-8") # 读取csv文件
rate2_var = rate.rate2_var ## 下面四列是读取所需的数据,自己看着来
var13 = rate.var13
num_var = rate.num_var
price_var = rate.price_varyear = [2009, 2010, 2011, 2012, 2013, 2014, 2015]
fig = plt.figure() # 生成一张画布
ax1 = fig.add_subplot(221) #利用add_subplot将画布分成两行两列,共四个小区域,并另ax1为第一个区域,也就是左上角,222 223 224以此类推
ax1.plot(year, rate2_var, ls='-.', label="标签", linewidth=3) # 画图
ax1.set_ylabel('y轴坐标') # 设置y轴坐标名
ax1.set_xlabel('年份') # 设置y轴坐标名
ax1.set_title("标题1") # 设置标题
plt.legend(loc="best") ax12 = ax1.twinx() # 利用twinx函数产生一个和ax1具有相同横坐标的ax12,而Y坐标会依据数据自动生成,就此形成双Y轴坐标
ax12.plot(year, num_var, ls="solid")
ax12.set_ylabel('xxxx')
ax12.set_xlabel('年份')ax2 = fig.add_subplot(222) # 与上述步骤类似
ax2.plot(year, rate2_var, ls='-.', linewidth=3)
ax2.set_ylabel('xxxxxxx')
ax2.set_xlabel('年份')
ax2.set_title("xxxxxx")ax22 = ax2.twinx()
ax22.plot(year, price_var, ls="dashed", label="地价变动")
ax22.set_ylabel('xxxxxxxxxx')
ax22.set_xlabel('年份')
plt.legend(loc=4)ax3 = fig.add_subplot(223)
ax3.plot(year, var13, ls=':', label="xxxxx")
ax3.set_ylabel('xxxxxxxxxx')
ax3.set_xlabel('年份')
ax3.set_title("xxxxxxx")
plt.legend(loc=8)ax32 = ax3.twinx()
ax32.plot(year, num_var, ls="solid")
ax32.set_ylabel('xxxxxxxxxx')
ax32.set_xlabel('年份')ax4 = fig.add_subplot(224)
ax4.plot(year, var13, ls=':')
ax4.set_ylabel('xxxxxxxxxxx')
ax4.set_xlabel('年份')
ax4.set_title("xxxxxxxxxx")ax42 = ax4.twinx()
ax42.plot(year, price_var, ls="dashed", label="xxxxxxx")
ax42.set_ylabel('xxxxxxxxx')
ax42.set_xlabel('xxxxxxxxxx')
plt.legend(loc=4)plt.rcParams['font.sans-serif'] = ['SimHei'] # 为了正常显示标签或坐标名等中文信息plt.show()
python实现在一个画布绘制多张双y轴折线图,y轴数据大小不一样,怎么hua?相关推荐
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、自定义数据点的形状、自定义折线图的颜色
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.自定义数据点的形状.自定义折线图的颜色 目录
- python绘制双Y轴折线图以及单Y轴双变量柱状图
近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手.今天师姐派了一个小活,具体要求是: 给一些训练模型的迭代次数,训 ...
- Python 数据可视化教程 绘制精美的双 Y 轴折线图
在可视化作图的时候,有时候需要将几条曲线放在同一个图中,但这些曲线值的大小范围不同,需要的刻度不同.如果都用同一个 Y 轴刻度,值较小的曲线变化将不明显(如深度学习训练和测试的 Loss 变化).下面 ...
- Python案例:查询城市天气并绘制最高气温与最低气温折线图
Python案例:查询城市天气并绘制最高气温与最低气温折线图 一.解决思路 比如要查询"泸州"的天气. 1.首先获取泸州的城市代码 http://toy1.weather.com. ...
- Python数据可视化 Matplotlib详解(一) —— 折线图与时序数据绘制
目录 本小节内容 基础代码 实例讲解 如何多图绘制 多行多列的情况 多行单列的情况 Matplotlib 绘制时序数据 多时序变量绘图 如何给数据添加注释 Reference 本小节内容 今天这一小节 ...
- python3+matplotlib绘制双轴折线图(两种方法)
Background 这里提供两种方法,一种是基于pandas,另一种是基于twinx. 1.先看最终效果图 pandas twinx 2.源码 import pandas as pd import ...
- python画双折线图-Python Pandas 时间序列双轴折线图
时间序列pv-gmv双轴折线图 import numpy as np import pandas as pd import matplotlib.pyplot as plt n = 12 date_s ...
- python时间序列折线图_Python Pandas 时间序列双轴折线图
时间序列pv-gmv双轴折线图 import numpy as np import pandas as pd import matplotlib.pyplot as plt n = 12 date_s ...
- 可视化实例(三)Tableau基础绘图介绍——横向条形图、双轴折线图、直方图
Tableau是一款商业智能可视化软件,其基本绘图只用拖动相应字段即可,操作十分方便,今天就来分享其基本绘图步骤. 目录 一.Tableau常用功能区 二.横向条形图 三.双轴折线图 四.堆积柱形图 ...
最新文章
- Spring 中的 context
- 后盾网lavarel视频项目---laravel 使用laracasts/flash插件提示信息
- mysql数据库优化韩顺平_韩顺平 Mysql数据库优化(一) 优化概述
- SDN火爆!未来五年年复合增长率达98%
- html还原ui,前端高度还原设计稿(字体篇)
- uniapp语音识别_uni-app开发APP语音播报功能
- Redis登陆服务器和批量删除指定的key
- add script param in pycharm
- sharepoint安装心得-.net与sharepoint安装 sharepoint安装心得_过程(一)
- c语言题库南信,c语言上机题库百科园南信大.docx
- 一款简单好用的动画/游戏制作软件|源码编辑器|编程猫南宁体验中心
- win764位安装vs2010sp1补丁卡在kb983509解决办法低于40分钟
- 用python画圣诞树的代码
- 基于ssm整合的网上书城
- Hibernate缓存集成IMDG
- 正则表达式项目,批量修改文件
- Ant Design的入门使用教程
- Android Studio实现内容丰富的安卓小说阅读平台
- 加法要遍历两遍所有元素,那就用减法,只遍历一遍即可(思想)
- vue-devtools工具的安装和使用
热门文章
- notepad php格式化插件下载,【PHP Notepad Chrome插件】PHP Notepad Chrome插件下载_教程_安装 - 开发者插件 - Chrome插件网...
- XAML、SelverLight、WPF和WinPhone总述
- wince和window mobile winphone
- 如何用python抢鞋_谁知道抢鞋机器人的原理是什么吗?
- Windows跑起XDAG源码
- jFinal基于maven简单的demo
- Android设备的USB通讯
- FormFile,FileItem对象的创建
- 阿宇NVR如何关闭相机的声光警戒音
- 镁客网每周硬科技领域投融资汇总(3.3-3.9),百度再度领投威马汽车...