对于一个知识点学习,我一直本着多看,多想,多分析的态度,一方面,通过思考可以让模糊的知识变清晰,另一方面,通过思考可以让你有办法找到更多的想法,遵循你的想法去寻找你想要的答案!
关于Matplotlib数据分析绘制图形我们已经有过几篇文章的介绍,但是个人觉得所介绍的内容还不足以让大家彻底把问题弄清晰,因为决定沿着知识的轨迹,继续寻找能够让大家更好理解的方式,从而能够快速的找到问题的答案。
python可视化数据化分析离不开画图,在系统中经常会导入Matplotlib库中的子模块pyplot来进行图形的绘画工作。
#导入模块,为了简化把模块重新命名plt
import matplotlib.pyplot as plt
我们就从这里开始讲起!
1、系统在导入plt简化模块后,会自动的命名,这里我们如果只有一个绘图区域使用,使用系统默认的最简单了!上干货!
#系统直接利用模块来进行坐标点(1,3)和点(2,4)进行连线
plt.plot([1,2],[3,4])
plt.show()
绘制后的效果图形展示:
2、一块画布仅仅画一幅图,显示远远不能满足需要,所以对于画布分割就显得非常重要这时需要用到另外的命令
知识拆分:
subplot()函数
- 这个命令可以在系统画布上,分割多个不同的区域,并对每一个区域进行独立操作
- subplot(2,2),这是一个把画布分成2行,2列的子画布分割,如果想使用其中一个区域,应该这样定义subplot(2,2,1),最后面的1表示,当前使用第一个画布区域进行绘图。
- 我们对第一区域重新命名为ax1,并在这个区域上绘制一条直线
#系统直接利用坐标点(1,3)和点(2,4)进行连线
#模块导入
import matplotlib.pyplot as plt
#开始分割画布绘图
ax1 = plt.subplot(2,2,1)
ax1.plot([1,2],[3,4])
plt.show()
4、我们仅仅是使用了一个区域,按照分布我们可以有四个区域,这里我们只讲解两个,另外两个大家可以自己练习。
6、对第二区域进行同样的直线绘制,我们对第二区域命名为ax2,这里要注意一下subplot要定位好分割区(2,2,2),也就是把前面的1改为2,这样系统才能正确把两个绘制区域显示出来
import matplotlib.pyplot as plt
ax1 = plt.subplot(2,2,1)
ax1.plot([1,2],[3,4])
ax2 = plt.subplot(2,2,2)
ax2.plot([1,2],[3,4])
plt.show()
3、另外还有一个命令,subplots()也可以对画布进行分割,并进行绘制,那么这个和我们第2个部分所讲的区别在哪里呢?
知识拆分:
subplots()函数,把画布分割区域放入数组,也就是说我们可以通过索引的方式对每一个分割区进行独立操作。
6、比如我们先来把画布分割成2行3列结构
fig,axs = plt.subplots(2,3)
7、大家注意这里的命名很简单,但是等号左边有fig,axs这是什么意思?
fig,是我们重新为画布起的新名字,也就是我们现在不用系统默认的名称,重新命名。
8、axs这个名称呢,你可以理解成是把这2行3列,6个分割区定义的一个总名称,我们前面不是说,分割区域被放入数组中了吗,那一会你就可以按照这个总名称+数字索引的方式对每一个分割绘图区域进行修改和操作,特别方便,
9、按照我们分割的绘图区域,分别给单独的绘图区域起名字如下,前面0表示行,这里有0,1两行,0行后面有0,1,2表示3列对应编号内容
axs[0,0].set_title('子图1')
axs[0,1].set_title('子图2')
axs[0,2].set_title('子图3')
axs[1,0].set_title('子图4')
axs[1,1].set_title('子图5')
axs[1,2].set_title('子图6')
10、接下来我们再给0行的第一个分割区axs[0,0]和第二个分割区axs[0,1],画上两条线
axs[0,0].plot([1,2], [3,4])
axs[0,1].plot([1,2], [3,4])
从上面的三点分析,我们最后明白,对于不同的实际工作需要,Python给到我们非常灵活的绘图区域定义的能力,这极大的方便了我们的工作,但由于使用的命令繁多,也常常令大家眼花缭乱,所以在这里根据我的理解给大家认真的做了分析,后面,我们会结合实际使用需要,依次给大家完善的课程内容!关注,转发,点赞!您的支持是我们写下去的动力。