matplotlib 子图超过4个_Python数据可视化:如何用Matplotlib创建子图

1798c5f3c3341d57d0dc8fe1d262775d.png

一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形。

我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotlib, seaborn, plotly等工具实现可视化。

本文的主题是如何用Matplotlib创建子图。

本文来自《数据黑客》,登录官网可阅读更多精彩资讯和文章。

数据黑客 - 专注金融大数据的内容聚合和数据聚合平台​finquanthub.com

Matplotlib有一个概念subplot:包含在Figure对象中的小型Axes对象。这允许我们在一幅图中创建很多个子图,方便对比数据。

创建子图的3种常用方法:

  1. fig.add_axes
  2. plt.subplots
  3. plt.GridSpec
import 

1. fig.add_axes

  1. 先调用plt.figure()创建Figure对象,图表是所有坐标的容器。
  2. 调用fig.add_axes()在图表的任意位置添加子图,该方法接收一个包含4个数字的列表: $[x, y, width, height]$,分别代表子图左下角的坐标(x,y),子图的宽度和高度,这四个数字的取值范围都是$[0,1]$,代表相对位置和大小。
  3. 最后调用ax.plot将数据映射到子图。
# 创建图表对象

2ac48b638f7f284c3b9f072b8fa9fdbf.png

2. plt.subplots

plt.subplots用于快速创建多个子图,这些子图会以网格状排列。函数返回长度为2的元组,第一个元素是Figure对象,第二个元素是坐标集合。

# 创建一个图形对象,拆分为2*3的网格,包含6个坐标对象

10a52ec69895d4e253b868d04b92a282.png

3. plt.GridSpec

上面的案例创建了规则排列的子图(网格状),但有时候想创建不规则的子图,部分子图更大,展示核心信息,有的子图较小,展现辅助信息。

plt.GridSpec可实现这一点,工作原理是先创建一个网格状的蓝图,然后合并部分子图(类似于Excel中合并单元格的操作)。

  1. 调用plt.GridSpec创建网格状的蓝图
  2. 通过切片和索引按需求'合并'子图
  3. 调用ax.plot()将数据映射到图表
# 创建图表对象

b9b88a91b4df7853689dc29a15d55869.png
# 创建图表对象

97523a35a2f0f0f593ef5a83349c6d16.png
数据黑客 - 专注金融大数据的内容聚合和数据聚合平台​finquanthub.com

数据黑客:专注金融大数据,聚合全网最好的资讯和教程,提供开源数据接口。

我们聚合全网最优秀的资讯和教程:

  1. 金融大数据
  2. 机器学习/深度学习
  3. 量化交易
  4. 数据工程
  5. 编程语言,Python,R,Julia,Scala,SQL

我们提供开源数据接口:

  1. 下载国内和国外海量金融数据
  2. API接口,将数据整合到您的平台
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值