机器学习之numpy和matplotlib学习(五)

今天我们来学习在一个figure画子图的第二个方法。
主要学习函数plt.subplot2grid()。
plt.subplot2grid()函数也是用来画一个子图的,与昨天讲的plt.subplot()函数类似。

 plt.subplot2grid()共有四个参数
 参数解释:例如plt.subplot2grid((3,3),(0,0),rowspan=1,colspan=3,)
 (3,3)是把一个figure分成3x3的表格布局。
(0,0)是第一个子图的开始位置【这个开始位置是以子图左上角的坐标为标准】
 rowspan是表示这个子图占几行,这里是1行。
 colspan是表示这个子图占几列,这里是三列。

本次教学是话一个3*3的网络布局表格的子图。
代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : figure5.py
import matplotlib.pyplot as plt
import numpy as np

plt.figure()
x=np.linspace(-5,5,50)
y=2*x+1
# plt.subplot2grid()函数也是用来画一个子图的,与昨天讲的plt.subplot()函数类似。
# plt.subplot2grid()共有四个参数
# 参数解释:例如plt.subplot2grid((3,3),(0,0),rowspan=1,colspan=3,)
# (3,3)是把一个figure分成3x3的表格布局。
# (0,0)是第一个子图的开始位置【这个开始位置是以子图左上角的坐标为标准】
# rowspan是表示这个子图占几行,这里是1行。
# colspan是表示这个子图占几列,这里是三列。

#这里plt.subplot2grid()返回第一个子图图像,我们设置为pc1,代表子图picture1.
#这里区别于plt.subplot()函数,它是直接使用plt.plot()来绘制的,这里是使用pc1来绘制的。

pc1=plt.subplot2grid((3,3),(0,0),rowspan=1,colspan=3,)
pc1.plot(x,y);


pc2=plt.subplot2grid((3,3),(1,1),rowspan=1,colspan=2,)
pc2.plot(x,y);


pc3=plt.subplot2grid((3,3),(2,2),rowspan=1,colspan=1,)
pc3.plot(x,y);
#这个函数的作用明天讲,不用管它,有和没有都可以。
plt.tight_layout()

plt.show()

运行结果如下:


机器学习之numpy和matplotlib学习(五)_第1张图片
这里写图片描述

对于本次实验结果解释:
创建的一个3*3的表格布局如下:


机器学习之numpy和matplotlib学习(五)_第2张图片
这里写图片描述

对于子图开始位置,之前也强调过是以子图左上角的坐标为标准。所以子图起点位置的x和y最大只能为2【不清楚的结合下列图片一起看】
图画解释如下:


机器学习之numpy和matplotlib学习(五)_第3张图片
这里写图片描述

自己动手实践改变一下plt.subplot2grid( )函数的参数!!! 如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : figure5.py
import matplotlib.pyplot as plt
import numpy as np

plt.figure()
x=np.linspace(-5,5,50)
y=2*x+1

pc1=plt.subplot2grid((3,3),(0,0),rowspan=1,colspan=3,)
pc1.plot(x,y);


pc2=plt.subplot2grid((3,3),(1,0),rowspan=1,colspan=1,)
pc2.plot(x,y);


pc3=plt.subplot2grid((3,3),(2,0),rowspan=1,colspan=2,)
pc3.plot(x,y);
plt.tight_layout()
plt.show()

运行结果可是不一样了:


机器学习之numpy和matplotlib学习(五)_第4张图片
这里写图片描述

更新完毕##

你可能感兴趣的:(机器学习之numpy和matplotlib学习(五))