|
|
51CTO旗下网站
|
|
移动端

6.2.1 函数subplot2grid()的使用方法

《Python数据可视化之matplotlib实践》第6章划分画布的主要函数,本章我们专门讨论划分画布的相关函数。这里就需要引入一个概念:子区。子区顾名思义就是将画布分成若干子画布,这些子画布构成绘图区域,在这些绘图区域上分别绘制图形。本节为大家介绍函数subplot2grid()的使用方法。

作者:刘大成来源:电子工业出版社|2018-09-23 17:30

6.2 函数subplot2grid():让子区跨越固定的网格布局

我们已经介绍了子区函数subplot()的用法,但是这种子区函数只能绘制等分画布形式的图形样式,要想按照绘图区域的不同展示目的,进行非等分画布形式的图形展示,需要向画布多次使用子区函数subplot()完成非等分画布的展示任务,但是这么频繁地操作显得非常麻烦,而且在划分画布时易于出现疏漏和差错。因此,我们需要用高级的方法使用子区,需要定制化的网格区域,这个函数就是subplot2grid(),通过使用subplot2grid()函数的rowspan 和colspan 参数可以让子区跨越固定的网格布局的多个行和列,实现不同的子区布局。

6.2.1 函数subplot2grid()的使用方法

下面我们就通过Python 代码的形式来讲解函数subplot2grid()的使用方法和操作细节。

(1)代码实现

  1. # -*- coding:utf-8 -*-  
  2. import matplotlib as mpl  
  3. import matplotlib.pyplot as plt  
  4. import numpy as np  
  5. mpl.rcParams["font.sans-serif"]=["SimHei"]  
  6. mpl.rcParams["axes.unicode_minus"]=False  
  7. # set subplot(23,1-2)  
  8. plt.subplot2grid((2,3),(0,0),colspan=2)  
  9. x = np.linspace(0.0,4.0,100)  
  10. y = np.random.randn(100)  
  11. plt.scatter(x,y,c="c")  
  12. plt.title("散点图")  
  13. # set subplot(233)  
  14. plt.subplot2grid((2,3),(0,2))  
  15. plt.title("空白绘图区域")  
  16. # set subplot(23,4-6)  
  17. plt.subplot2grid((2,3),(1,0),colspan=3)  
  18. x = np.linspace(0.0,4.0,100)  
  19. y1 = np.sin(x)  
  20. plt.plot(x,y1,lw=2,ls="-")  
  21. plt.xlim(0,3)  
  22. plt.grid(True,ls=":",c="r")  
  23. plt.title("折线图")  
  24. # set figure title  
  25. plt.suptitle("subplot2grid()函数的实例展示",fontsize=25)  
  26. plt.show() 

(2)运行结果

运行结果如图6.5 所示。

(3)代码精讲

我们通过调用函数subplot2grid(shape,loc),将参数shape 所划定的网格布局作为绘图区域,实现在参数loc 位置处绘制图形的目的。上面的代码中,参数shape 设置了一个2 行3 列的网格布局,参数loc 表示元组的***个和第二个数字的起点都是0。以“plt.subplot2grid((2,3),(0,0),colspan=2)”语句为例,参数loc=(0,0)就表示图形将***行和***列作为位置起点,跨越两列。相应的,“plt.subplot2grid((2,3),(0,2))”语句就表示图形将***行和第三列作为位置起点。值得注意的是,图形位置的索引起点是从0 开始算起的,而不是像子区函数subplot()中的图形位置是从1 开始算起的。

函数suptitle()是绘制Figure 画布标题的文本内容,函数title()是绘制坐标轴Axes 实例的图形标题的文本内容,希望读者加以区别使用。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

网管员必读——超级网管经验谈

本书是一本以示例形式直接面向应用的网络管理图书。书中以大量示例和大量实用网络管理与故障排除经验介绍了当前网络管理工作的各主要方面。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客