【matplotlib】21.多图合并【python3、numpy、pandas、matplotlib完结】
#【matplotlib】21.多图合并
2023.1.20
- python3、numpy、pandas、matplotlib完结
新年快乐@!!
21.1 多合一显示
21.1.1 均匀分布
方法很简单 就是一张图 分几块 第一张占几块 从哪开始;第二张…
plt.subplot()
# 打开一个窗口
import matplotlib.pyplot as pltplt.figure()
<Figure size 432x288 with 0 Axes>
#表示将整个图像窗口分为2行2列, 当前位置为1.
plt.subplot(2,2,1)
#上面这个未知的图像
plt.plot([0,1],[0,1])#图2
plt.subplot(2,2,2)
plt.plot([0,1],[0,2])#图3 plt.subplot(223)=plt.subplot(2,2,3)
plt.subplot(223)
plt.plot([0,1],[0,3])#图4
plt.subplot(224)
plt.plot([0,1],[0,4])plt.show() # 展示
21.1.2 不均匀分布
plt.figure()# 图像窗口分为2行1列, 当前位置为1.
plt.subplot(2,1,1)
plt.plot([0,1],[0,1])#图像窗口分为2行3列, 当前位置为4
plt.subplot(2,3,4)
plt.plot([0,1],[0,2])# 图像窗口分为2行3列, 当前位置为5,6
plt.subplot(235)
plt.plot([0,1],[0,3])plt.subplot(236)
plt.plot([0,1],[0,4])plt.show() # 展示
21.2 分隔显示
plt.subplot2grid()
也是图分几块,从哪个开始,夸几格
import matplotlib.pyplot as pltplt.figure()# 3*3的图,(0,0)开始画 跨3列
ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)
ax1.plot([1, 2], [1, 2]) # 画小图
ax1.set_title('ax1_title') # 设置小图的标题ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)
ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)
ax4 = plt.subplot2grid((3, 3), (2, 0))
ax5 = plt.subplot2grid((3, 3), (2, 1))# 上面画好格子了 我们在其中ax4里面画好相应的图
ax4.scatter([1, 2], [2, 2])
ax4.set_xlabel('ax4_x')
ax4.set_ylabel('ax4_y')
Text(0, 0.5, 'ax4_y')
这里面要注意的就是:colspan
,rowspan
,方向别弄错
colspan
:是跨列,所以是横着走了- rowspan`:是跨行,是纵着走
2. 方法2:gridspec这个是用切片方法,说每个图位置
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspecplt.figure()
# 3*3 的图
gs = gridspec.GridSpec(3, 3)# gs[0, :]表示这个图占第0行和所有列
ax6 = plt.subplot(gs[0, :])# 其他类似
ax7 = plt.subplot(gs[1, :2])
ax8 = plt.subplot(gs[1:, 2])
ax9 = plt.subplot(gs[-1, 0])
ax10 = plt.subplot(gs[-1, -2])# 后面可以添加每个图的描述,例如ax10ax10.plot([1, 2], [3, 2])
[<matplotlib.lines.Line2D at 0x1d9908c6c40>]
21.3 共享坐标轴
# 2行2列 ((ax11, ax12), (ax13, ax14))表示第1行从左至右 从上往下f, ((ax11, ax12), (ax13, ax14)) = plt.subplots(2, 2, sharex=True, sharey=True)# 创建图形 ax12,13,14
ax11.scatter([1,2], [1,2])
ax12.scatter([2,3], [3,4])# plt.tight_layout()表示紧凑显示图像
plt.tight_layout()
plt.show()
21.4 次坐标轴
也就是一个图两个y轴
- 第一个坐标轴
import matplotlib.pyplot as plt
import numpy as npx = np.arange(0, 10, 0.1)y1 = 0.05 * x**2y2 = -1 * y1# figure默认的坐标系 ax1
fig, ax1 = plt.subplots()
- 第二个坐标轴
import matplotlib.pyplot as plt
import numpy as npx = np.arange(0, 10, 0.1)y1 = 0.05 * x**2y2 = 1* x+5# figure默认的坐标系 ax1
fig, ax1 = plt.subplots()# 对ax1调用twinx()方法,生成如同镜面效果后的ax2,放到了右侧
ax2 = ax1.twinx()ax1.plot(x, y1, 'g-') # 第一个轴产生图像green, solid line
ax1.set_xlabel('X data') # 设置x轴名字
ax1.set_ylabel('Y1 data', color='g')# 设置y1轴名字# 第二个 图像和y2名字颜色
ax2.plot(x, y2, 'b-') # blue
ax2.set_ylabel('Y2 data', color='b')plt.show()
【matplotlib】21.多图合并【python3、numpy、pandas、matplotlib完结】相关推荐
- python科学计算之numpy+pandas+matplotlib+mysql
简介 本文主要介绍了读取mysql中的数据,将其保存至numpy和pandas中,通过matplotlib进行可视化数据分析. 一.环境搭建 使用anaconda搭建科学计算环境,并安装相关软件包. ...
- Python numpy+pandas+matplotlib学习笔记
Python numpy+pandas+matplotlib 本文是根据b站路飞学城Python数据分析全套教程的学习视频整理归纳的学习文档,主要目的是方便自己进行查阅,详细的还得去b站看原视频.另外 ...
- python 数据分析工具之 numpy pandas matplotlib
作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...
- Numpy+Pandas+Matplotlib学习
参考的教程是哔哩哔哩孙兴华UP主的视频,边学边做 BV1ji4y157uB 代码及所用的数据已上传至Github learn_numpy_pandas_matplotlib 文章目录 Numpy Pa ...
- Numpy,Pandas,Matplotlib
一 . numpy -- 数据分析:就是把一些看似杂乱无章的数据信息提炼出来,总结出所研究的内在规律 -- 数据分析三剑客:Numpy,Pandas,Matplotlib -- Numpy(Numer ...
- [机器学习]Python中Numpy,Pandas,Matplotlib,Scipy,Seaborn介绍
Python做数据挖掘很强大,最近几年很火的机器学习以及较为前沿的自然语言处理也会选用Python作为基础工具. 其中python做数据挖掘足够强大,不用怀疑. #1. Numpy介绍 Numpy是P ...
- numpy+pandas+matplotlib绘制误差条形图
代码源于:Python数据分析与挖掘实战 绘制误差棒图: #-*- coding: utf-8 -*-import matplotlib.pyplot as plt import numpy as n ...
- numpy+pandas+matplotlib画箱形图
代码源于: Python数据分析与挖掘实战 绘制样本数据的箱形图,样本由两组正态分布的随机数据组成.其中,一组数据均值为0,标准差为1,另一组数据均值为1,标准差为1 #-*- coding: utf ...
- python数据分析与机器学习(Numpy,Pandas,Matplotlib)
机器学习怎么学? 机器学习包含数学原理推导和实际应用技巧,所以需要清楚算法的推导过程和如何应用. 深度学习是机器学习中神经网络算法的延伸,在计算机视觉和自然语言处理中应用更厉害一些. 自己从头开始做笔 ...
最新文章
- 程序员用5分钟,把一个400多MB的苹果安装包削掉了187MB
- 未授权用户在此计算机上的的请求登陆类型
- js进阶 12-1 jquery的鼠标事件有哪些
- Servlet RequestDispatcher需要注意的情况
- 华为的深度学习平台:ModelArts
- MongoDB限制与阈值
- [转+整理]十道海量数据处理面试题与十个方法大总结
- iOS7 - NSURLSession
- 数据库表关联关系的基础知识
- php电子备课系统,电子备课-华思信息-智慧校园-智慧班牌-智慧课堂-智慧教育整体解决方案...
- 论文解读:MOEA/D-TPN
- S3C2440裸机开发----点亮LED
- linux下查看eml类型文件
- webchart 生成饼状图 java_WebChart生成折线图,柱状图,饼状图
- 程序员如何在社交领域成长快一点?
- linux 下 gcc编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用
- CentOS 7搭建LittlePaimon原神机器人
- Android 沉浸式状态栏攻略 让你的状态栏变色吧
- java个性签名_程序员用搞笑个性签名
- linux+电音制作软件,电音制作入门:读懂全球最受欢迎的软件合成器Serum㈦
热门文章
- layim之邀请好友加入群组
- 用python画月亮和星空_用canvas画一轮明月,夜空与流星
- 小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
- 图像分割GrabCut
- WPF中播放GIF图片
- G3D游戏引擎——编译
- 动手实践丨使用华为云IoT边缘体验“边云协同”
- 后半生,你越活越好的7个迹象
- DEPICT实现基因优化(gene prioritization)、gene set富集分析(geneset enrichment)、组织富集分析(tissue enrichment)...
- 值得收藏,这6种制作竞赛动图的方法妙不可言