1. python 调用 matplotlib

matploglib 能够绘制出精美的图表, 有些时候, 我们希望把一组图放在一起进行比较, 有没有什么好的方法呢?

matplotlib 中提供的 subplot 可以很好的解决这个问题

2. subplot 函数中的属性

matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制, 其调用形式如下 :

subplot(numRows, numCols, plotNum)
  • 图表的整个绘图区域被分成 numRows 行和 numCols 列

  • 然后按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1

  • plotNum 参数指定创建的 Axes 对象所在的区域

如果 numRows = 2, numCols = 3, 那整个绘制图表样式为 2X3 的图片区域, 用坐标表示为

(1, 1), (1, 2), (1, 3)
(2, 1), (2, 2), (2, 3)

这时, 当 plotNum = 3 时, 表示的坐标为(1, 3), 即第一行第三列的子图

  • 如果 numRows, numColsplotNum 这三个数都小于 10 的话, 可以把它们缩写为一个整数, 例如 subplot(323) 和 subplot(3,2,3) 是相同的.

  • subplot在 plotNum 指定的区域中创建一个轴对象. 如果新创建的轴和之前创建的轴重叠的话,之前的轴将被删除.

3. 规则划分区域

#!/usr/bin/env python
#!encoding=utf-8import matplotlib
import matplotlib.pyplot as pltif __name__ == '__main__':for i,color in enumerate("rgby"):plt.subplot(221+i, axisbg=color)plt.show()

4. 不规则划分区域

但是有时候我们的划分并不是规则的, 比如如下的形式

这种应该怎么划分呢?

将整个表按照 2*2 划分
前两个简单, 分别是 (2, 2, 1) 和 (2, 2, 2)

但是第三个图呢, 他占用了 (2, 2, 3) 和 (2, 2, 4)

显示需要对其重新划分, 按照 2 * 1 划分

前两个图占用了 (2, 1, 1) 的位置

因此第三个图占用了 (2, 1, 2) 的位置
————————————————

#!/usr/bin/env python
#!encoding=utf-8import matplotlib.pyplot as plt
import numpy as npdef f(t):return np.exp(-t) * np.cos(2 * np.pi * t)if __name__ == '__main__' :t1 = np.arange(0, 5, 0.1)t2 = np.arange(0, 5, 0.02)plt.figure(12)plt.subplot(221)plt.plot(t1, f(t1), 'bo', t2, f(t2), 'r--')plt.subplot(222)plt.plot(t2, np.cos(2 * np.pi * t2), 'r--')plt.subplot(212)plt.plot([1, 2, 3, 4], [1, 4, 9, 16])plt.show()

python subplot相关推荐

  1. python画三维立体图-python绘制三维图

    作者:桂. 时间:2017-04-27 23:24:55 本文仅仅梳理最基本的绘图方法. 一.初始化 假设已经安装了matplotlib工具包. 利用matplotlib.figure.Figure创 ...

  2. python怎样画立体图-python绘制三维图

    作者:桂. 时间:2017-04-27 23:24:55 本文仅仅梳理最基本的绘图方法. 一.初始化 假设已经安装了matplotlib工具包. 利用matplotlib.figure.Figure创 ...

  3. gdb -iex_如何使用IEX Cloud,Matplotlib和AWS在Python中创建自动更新数据可视化

    gdb -iex Python is an excellent programming language for creating data visualizations. Python是用于创建数据 ...

  4. Python、Matplot的subplot实现一行3列的子图绘制,并添加背景色

    Python.Matplot的subplot实现一行3列的子图绘制,并添加背景色 1. 可能遇到的问题 2. 示例 1)绘制2*2(俩行俩列)的子图,并设置背景色 2) 绘制1*3(一行三列)的子图, ...

  5. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为指定的子图添加图例信息(legend)

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.为指定的子图添加图例信息(legend) 目录

  6. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加日期数据标签

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加日期数据标签 目录

  7. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、使用set_major_formatter函数自定义设置y轴数值标签格式为百分比

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.使用set_major_formatter函数自定义设置y轴数值标签格式为百分比 目录

  8. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加数值标签 目录

  9. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.为多个子图添加总标题(main title) 目录

最新文章

  1. php读写分离数据不能同步,thinkphp 下数据库读写分离代码剖析
  2. java文件输入与输出_java文件输入和输出
  3. layui表单的ajax联动,layui的select联动实现代码
  4. 知乎回应“腾讯搜狗退出知乎股东”:是上市后的标准操作
  5. Linux系统重要快捷键 Shell 常用通配符
  6. mysql之使用json
  7. Python LeetCode 数组中的最长山脉
  8. 【双碳政策】分布式光伏如何进行实时运维监测管理
  9. 大鱼吃小鱼java源代码_大鱼吃小鱼 JAVA游戏源码
  10. Pyhton之模拟石头剪子布游戏篇
  11. 创建pv卷报错excluded by a filter的解决办法
  12. 商会协会团体网站搭建模板
  13. 随机变量不相关却不一定独立
  14. 医疗项目 开源_开源医疗IT的未来
  15. 小虎电商浏览器:淘数据聚划算功能有什么用?
  16. Git客户端msysGit的安装
  17. 【游戏设计笔记】游戏设计第一堂课
  18. osta计算机考试题型,计算机基础—OSTA考试相关事宜
  19. Android应用程序App应用上线流程
  20. 2020 US News University Rankings(中国大学排名)

热门文章

  1. 自学python记录_(1)新手入门
  2. 美容护肤:春天四类方案拯救过敏肌肤秘籍 - 生活至上,美容至尚!
  3. 【原】Linux 桌面背景的存放位置
  4. Java Palindrome Tutorials
  5. pd.to_datetime我吹爆!太强了
  6. 工程设计专业资质标准
  7. 虎牙数万主播同时在线直播的秘密,CDN推流日志上行实时监控
  8. Directx11基础教程二之Directx11初始化
  9. python timeit计时_Python 自带计时工具 timeit
  10. 马云的创业故事及他人生中的摆渡人-辞去“铁饭碗”创办中国黄页(四)