Matplotlib-高级篇(利用subplot()绘制多幅图形)

Matplotlib中绘制多幅图形

在实际的工作中,我们有一 种需求是需要在一块画布上输出多个相关的图形,进行比较或多角度分析,如下图所示:
matplotlib和pyplot有当前的图形(figure)和当前的轴 (axes)的概念,所有的作图命令都是对当前的对象作用。可以通过gca()获得当前的axes(轴),通过gcf()获得当前的图形(figure):

Matplotlib-高级篇(利用subplot()绘制多幅图形)_第1张图片
Matplotlib-高级篇(利用subplot()绘制多幅图形)_第2张图片

代码演示:

#用subplot()方法绘制多幅图形
plt.figure(figsize=(6,6),dpi=80)
#创建第一个画板
plt.figure(1)
#将第一个画板划分为2行1列组成的区块,并获取到第一块区域
ax1 = plt.subplot(211)

#在第一个子区域中绘图
plt.scatter([1,3,5],[2,4,5],marker="v",s=50,color="r")
#选中第二个子区域,并绘图
ax2 = plt.subplot(212)
plt.plot([2,4,6],[7,9,15])

#创建第二个画板
plt.figure(2)
x = np.arange(4)
y = np.array([15,20,18,25])
#在第二个画板上绘制柱状图
plt.bar(x,y)
#为柱状图添加标题
plt.title("第二个画板")

#切换到第一个画板
plt.figure(1)

#为第一个画板的第一个区域添加标题
ax1.set_title("第一个画板中第一个区域")
ax2.set_title("第一个画板中第二个区域")

# 调整每隔子图之间的距离 
plt.tight_layout()
plt.show()

结果显示:
Matplotlib-高级篇(利用subplot()绘制多幅图形)_第3张图片

你可能感兴趣的:(matplotlib,python)