#【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 分隔显示

  1. 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轴

  1. 第一个坐标轴
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()

  1. 第二个坐标轴
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完结】相关推荐

  1. python科学计算之numpy+pandas+matplotlib+mysql

    简介 本文主要介绍了读取mysql中的数据,将其保存至numpy和pandas中,通过matplotlib进行可视化数据分析. 一.环境搭建 使用anaconda搭建科学计算环境,并安装相关软件包. ...

  2. Python numpy+pandas+matplotlib学习笔记

    Python numpy+pandas+matplotlib 本文是根据b站路飞学城Python数据分析全套教程的学习视频整理归纳的学习文档,主要目的是方便自己进行查阅,详细的还得去b站看原视频.另外 ...

  3. python 数据分析工具之 numpy pandas matplotlib

    作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...

  4. Numpy+Pandas+Matplotlib学习

    参考的教程是哔哩哔哩孙兴华UP主的视频,边学边做 BV1ji4y157uB 代码及所用的数据已上传至Github learn_numpy_pandas_matplotlib 文章目录 Numpy Pa ...

  5. Numpy,Pandas,Matplotlib

    一 . numpy -- 数据分析:就是把一些看似杂乱无章的数据信息提炼出来,总结出所研究的内在规律 -- 数据分析三剑客:Numpy,Pandas,Matplotlib -- Numpy(Numer ...

  6. [机器学习]Python中Numpy,Pandas,Matplotlib,Scipy,Seaborn介绍

    Python做数据挖掘很强大,最近几年很火的机器学习以及较为前沿的自然语言处理也会选用Python作为基础工具. 其中python做数据挖掘足够强大,不用怀疑. #1. Numpy介绍 Numpy是P ...

  7. numpy+pandas+matplotlib绘制误差条形图

    代码源于:Python数据分析与挖掘实战 绘制误差棒图: #-*- coding: utf-8 -*-import matplotlib.pyplot as plt import numpy as n ...

  8. numpy+pandas+matplotlib画箱形图

    代码源于: Python数据分析与挖掘实战 绘制样本数据的箱形图,样本由两组正态分布的随机数据组成.其中,一组数据均值为0,标准差为1,另一组数据均值为1,标准差为1 #-*- coding: utf ...

  9. python数据分析与机器学习(Numpy,Pandas,Matplotlib)

    机器学习怎么学? 机器学习包含数学原理推导和实际应用技巧,所以需要清楚算法的推导过程和如何应用. 深度学习是机器学习中神经网络算法的延伸,在计算机视觉和自然语言处理中应用更厉害一些. 自己从头开始做笔 ...

最新文章

  1. 程序员用5分钟,把一个400多MB的苹果安装包削掉了187MB
  2. 未授权用户在此计算机上的的请求登陆类型
  3. js进阶 12-1 jquery的鼠标事件有哪些
  4. Servlet RequestDispatcher需要注意的情况
  5. 华为的深度学习平台:ModelArts
  6. MongoDB限制与阈值
  7. [转+整理]十道海量数据处理面试题与十个方法大总结
  8. iOS7 - NSURLSession
  9. 数据库表关联关系的基础知识
  10. php电子备课系统,电子备课-华思信息-智慧校园-智慧班牌-智慧课堂-智慧教育整体解决方案...
  11. 论文解读:MOEA/D-TPN
  12. S3C2440裸机开发----点亮LED
  13. linux下查看eml类型文件
  14. webchart 生成饼状图 java_WebChart生成折线图,柱状图,饼状图
  15. 程序员如何在社交领域成长快一点?
  16. linux 下 gcc编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用
  17. CentOS 7搭建LittlePaimon原神机器人
  18. Android 沉浸式状态栏攻略 让你的状态栏变色吧
  19. java个性签名_程序员用搞笑个性签名
  20. linux+电音制作软件,电音制作入门:读懂全球最受欢迎的软件合成器Serum㈦

热门文章

  1. layim之邀请好友加入群组
  2. 用python画月亮和星空_用canvas画一轮明月,夜空与流星
  3. 小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
  4. 图像分割GrabCut
  5. WPF中播放GIF图片
  6. G3D游戏引擎——编译
  7. 动手实践丨使用华为云IoT边缘体验“边云协同”
  8. 后半生,你越活越好的7个迹象
  9. DEPICT实现基因优化(gene prioritization)、gene set富集分析(geneset enrichment)、组织富集分析(tissue enrichment)...
  10. 值得收藏,这6种制作竞赛动图的方法妙不可言