分析测试百科网

搜索

喜欢作者

微信支付微信支付
×

解析Python中利用Matplotlib绘制多图并合并展示(三)

2020.9.29
头像

王辉

致力于为分析测试行业奉献终身

2、subplot2grid分格显示

这种方式和上一种实现的效果一样,只不过更加容易理解罢了,先来看一个案例代码:

import  matplotlib.pyplot as plt

import numpy as np

plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号

#method1: subplot2grid

###########################

plt.figure(figsize=(12, 10), dpi=80)

ax1=plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1)#相当于格子分成3行3列,列跨度为3,行跨度为1

ax1.plot([1,2],[1,2]) #轴的范围,x轴,y轴。 

ax1.set_title('ax1_title')

ax2=plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1)

ax2.plot([2,4,6],[7,9,15])

ax3=plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=1)

x = np.arange(4)

y = np.array([15,20,18,25])

ax3.bar(x,y)

ax4=plt.subplot2grid((3,3),(2,0),colspan=1,rowspan=1)

ax5=plt.subplot2grid((3,3),(2,1),colspan=2,rowspan=1)

效果如下:

结合图可能更好理解一点,其中代码:

plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1)

第一个参数(3,3)相当于格子分成3行3列,第二个参数(0,0)表示该子图的开始位置,colspan=3表示子图的列跨度为3,rowspan=1表示子图的行跨度为1。

好了,以上就是Matplotlib绘制多图的内容,是不是很简单呢!喜欢的小伙伴可以收藏一下,万一哪天就用得上了呢。


互联网
文章推荐