# matplotlib中文网 https://www.matplotlib.org
# 需求一:利用自定义布局的GridSpec实例,在画布上创建如图所示的坐标系实例(见运行结果展示图)
1.导入数据
#%matplotlib auto #设置通过弹出窗口来显示图片
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec #用于创建和管理网格状的子图布局。允许用户在一个主图中创建多个子图,并对它们进行排列和布局。
#1.创建画布实例
fig1 = plt.figure()
#2.创建“区域规划图”实例
spec2 = gridspec.GridSpec(3,4, figure=fig1 , wspace=0.7)
注:在画布中创建一个三行四列,预留0.7范围宽度量的区域图
GridSpec使用方法:
GridSpec(nrows,ncols,figure=none,left=None,bottom=None,right=None,top=None,wspace=None,hspace=None,width_ratios=None,height_ratios=None)
参数含义:nrows:表示行数。
ncols:表示列数
figure:表示布局的画布
left, bottom, right, top:表示子图的范围
wspace:表示子图之间预留的宽度量
hspace:表示子图之间预留的高度量
width_ratios:设置列的相对宽度
height_ratios:宽度=设定值/ sum(设定值)
#3.根据给定的“区域规划图”,创建对应的坐标系实例
#以下均采用切片操作,实现跨行或跨列
ax1 = plt.subplot(spec2[0,0:5]) #等效于上篇文章ax1 =plt.subplot2grid((3,4),(0,0),colspan=4)
ax2 = plt.subplot(spec2[1,0:2])
ax3 = plt.subplot(spec2[1,2:5])
ax4 = plt.subplot(spec2[2,0],projection='polar')#在极坐标系中,角度从正北开始逆时针测量,而距离则从以点为中心的某点开始测量。这种坐标系常用于描述在圆形或球形表面上的运动。
ax5 = plt.subplot(spec2[2,1:5])
GridSpec类对象的使用方式与数组的使用方式相似,采用索引或切片的形式访问每个布局元素
#绘制图形
plt.show()