首页技术文章正文

大数据Python培训:自定义布局

更新时间:2022-04-13 来源:黑马程序员 浏览量:

  matplotlib的gridspec模块是专门指定画布中子图位置的模块,该模块中包含一个GridSpec类,通过显式地创建GridSpec类对象来自定义画布中子图的布局结构,使得子图能够更好地适应画布。GridSpec类的构造方法的语法格式如下:

GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, 
         top=None, wspace=None, hspace=None, width_rations=None, height_rations=None)

  该方法常用参数的含义如下。

  .nrows:表示行数。

  .ncols:表示列数。

  .figure:表示布局的画布。

  .left,bottom,right,top:表示子图的范围。

  .wspace:表示子图之间预留的宽度量。

  .hspace:表示子图之间预留的高度量。

  GridSpec类对象的使用方式与数组的使用方式相似,采用索引或切片的形式访问每个布局元素。此外,matplotlib中还为Figure对象提供了快速添加布局结构的方法add_gridspec()。下面分别使用两种方式创建自定义的布局结构。

  (1)使用GridSpec()方法创建子图的布局结构

  这种方式需要创建子图和GridSpec类对象,之后在调用add_subplot()方法时传入GridSpec类对象即可,具体示例如下。

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig2 = plt.figure()
spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2)
f2_ax1 = fig2.add_subplot(spec2[0, 0])
f2_ax2 = fig2.add_subplot(spec2[0, 1])
f2_ax3 = fig2.add_subplot(spec2[1, 0])
f2_ax4 = fig2.add_subplot(spec2[1, 1])
plt.show()

  以上示例创建的子图布局如图5-17所示。

1649814881129_使用GridSpec()方法创建子图的自定义布局.jpg

  图5-17 使用GridSpec()方法创建子图的自定义布局

分享到:
在线咨询 我要报名
和我们在线交谈!