Matplotlib 中文用户指南 3.3 使用 GridSpec 自定义子图位置

  • ax:matplotlib.axes._subplots.AxesSubplot,的基本操作

    • ax.set_xticks([]), ax_set_yticks([]):关闭坐标刻度
    • ax.axis('off'):关闭坐标轴
    • ax.set_title():设置标题

1. subplots

fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))
ax[0].plot(...)
ax[0].set_xlabel(...)
ax[0].set_title(...)ax[1].plot(...)
ax[1].set_xlabel(...)
...
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True)

更一般的做法(也是matlab的风格)是这样的:

fig = plt.figure()          # 创建一个figure对象,底下的一切显示均在此figure上完成plt.subplot(121)
plt.imshow(img1)
plt.subplot(122)
plt.imshow(img2)plt.show()# 当然放在一个range里边
for i in range(ndim):plt.subplot(ndim//5, 5, i+1)plt.hist()

2. subplot2grid

  • subplot2grid

    
    # 以下两条语句等价ax = plt.subplot2grid((2,2),(0, 0))
    ax = plt.subplot(221)       # 下标从 0 开始
    • colspan、rowspan 与 索引的对应关系
    import matplotlib.pyplot as pltdef disable_axis(ax):ax.set_xticks([])ax.set_yticks([])# ax.axis('off')def set_title(ax, title):ax.set_title(title)def subplot2grid_demo():ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=2)disable_axis(ax1)set_title(ax1, 'ax1')ax2 = plt.subplot2grid((3, 3), (1, 0))disable_axis(ax2)set_title(ax2, 'ax2')ax3 = plt.subplot2grid((3, 3), (1, 1))disable_axis(ax3)set_title(ax3, 'ax3')ax4 = plt.subplot2grid((3, 3), (0, 2), rowspan=2)disable_axis(ax4)set_title(ax4, 'ax4')ax5 = plt.subplot2grid((3, 3), (2, 0), colspan=3)disable_axis(ax5)set_title(ax5, 'ax5')# plt.xticks([])# plt.yticks([])# plt.axis('off')plt.show()if __name__ == '__main__':subplot2grid_demo()

3. GridSpec:方便的切片操作

GridSpec 提供了十分方便的切片操作,实现上述功能,则只需如下代码:

def gridspec_demo():gs = gridspec.GridSpec(3, 3)ax1 = plt.subplot(gs[0, :2])ax2 = plt.subplot(gs[1, 0])ax3 = plt.subplot(gs[1, 1])ax4 = plt.subplot(gs[0:2, 2])ax5 = plt.subplot(gs[2:, :])plt.show()

matplotlib 操作子图(subplot,axes)相关推荐

  1. Matplotlib的子图subplot 显示多图

    Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图. 直接指定划分方式和位置进行绘图. #要生成两行两列,这是第一个图plt.subplot('行','列','编号 ...

  2. python用for循环画多个图形_Python matplotlib读取excel数据并用for循环画多个子图subplot操作...

    Python matplotlib读取excel数据并用for循环画多个子图subplot操作,英语,总分,平均,数据,语文 Python matplotlib读取excel数据并用for循环画多个子 ...

  3. python matplotlib绘图 axes和pyplot用法的区别是什么?子图subplot

    在matplotlib绘图过程中,经常会出现axes绘图和pyplot绘图这两种方法,但是如果不搞清楚它们的区别,往往会得不到你想要的图形.所谓axes绘图是指调用axes对象(坐标轴对象)去完成绘图 ...

  4. Python可视化matplotlib多子图可视化(Multiple Subplots):plt.axes()、plt.subplot()、plt.subplots()、

    Python可视化matplotlib多子图可视化(Multiple Subplots) 目录 Python可视化matplotlib多子图可视化(Multiple Subplots) 手动绘制子图

  5. Python数据挖掘笔记 七 .PCA降维操作及subplot子图绘制

    Python数据挖掘笔记 七 .PCA降维操作及subplot子图绘制 这篇文章主要介绍四个知识点,也是我那节课讲课的内容.1.PCA降维操作:2.Python中Sklearn的PCA扩展包:3.Ma ...

  6. 15_多子图-Subplot、Subplot: 使用多个figures和 axes、替代解决方案:

    15.多子图-Subplot 15.1.Subplot: 使用多个figures和 axes 15.2.替代解决方案: 15.多子图-Subplot Matplotlib绘图时一个常见问题是如何在一个 ...

  7. Matplotlib——绘制多个子图(Axes)及其布局

    本文介绍如何用matplotlib绘制多个子图,并介绍控制它们布局的方法.按照其布局方式,分为均一排布,规整排布和跨行列排布三种. 一.均一排布plt.subplots() 均一排布的含义:所有子图的 ...

  8. python中subplot是什么意思_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

  9. python中mat函数_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

最新文章

  1. Java中的5大队列,你知道几个?
  2. 【转】正确认识动脉压力波形
  3. [转]ClassPath是什么
  4. 应变界的翘楚:硅基谐振式传感器灵敏度非常高
  5. oracle数据库中基础知识,oracle数据库基础知识
  6. Layui导航、面包屑
  7. finereport前端组件类思维导图
  8. 系统学习机器学习之线性判别式(三)--广义线性模型(Generalized Linear Models)
  9. IS-IS详解(十一)——IS-IS 区域间防路由环路和次优路径
  10. thinkphp5 一周学习总结 10月12日
  11. OFFICE技术讲座:标点压缩是各大OFFICE软件差异关键,总体考量有哪些
  12. Garmin NUVI C255 固件刷机教程
  13. Fragment、FragmentActivity、Fragment生命周期及Fragment组件穿透
  14. 1、电脑鼠标右键反应慢,解决办法
  15. Matlab数值剔除
  16. 视频教程-react电影院在线选座功能-ReactJS
  17. busybox v1.22.1(debian 1:1.22.0-19) built-in shell(ash)解决方案
  18. 二、为jupyter notebook 添加标题
  19. 流量为王:ABTest流量分层分桶机制
  20. select和select1

热门文章

  1. Adobe AIR教程:ANE面向IAP的测试和开发
  2. sonar不支持mysql_sonar-iOS的实践
  3. 怎么查看linux硬盘多路径,linux下磁盘多路径
  4. python在人工智能应用锁_饮冰三年-人工智能-Python-35权限管理(万能的权限通用模块)...
  5. python程序画漂亮图_用python画图代码:正弦图像、多轴图等案例
  6. C++ Memory_order的理解
  7. Mysql 的 排序分组优化
  8. MySQL5.7安装教程(windows .zip)
  9. mschart mysql_在VB mschart里面可以一个MSCHART同时显示曲线和状图吗?
  10. php 过滤非utf8,PHP如何将不是UTF8的字符过滤掉(代码)