书友汇德天-耐心教你正确认识可视化数据分析之add_subplot

知其然,亦知其所以然

学习要变成自己的东西才能做到得心应手,游刃有余,我们要不断的思考为什么是这样,原因是什么,而不仅仅是照搬照抄,吸引眼球,也许你浏览网上的文章看同类文章会晕头转向,但我相信,看了我写的内容,一定会让你思维焕然一新!
上节课学习的是神秘九宫格,不知你看了没有?

九宫格中的神秘深入解析

这一篇让我们了解一下添加子图的神秘功能吧!
add_subplot(),三位参数,111~999

走进111子图让我们看代码

import matplotlib.pyplot as plt

fig1 = plt.figure()

ax1 = fig1.add_subplot(111)
ax1.plot((0,1),(10,20))

plt.show()

知识解析:
1、要导入可视化视图模块matplotlib.pyplot库,命名为plt
2、创建可视化画布plt.figure()
3、为画布fig1添加子图add_subplot(111),注三位数含义,1行,1列,使用1/1。
上图:
在这里插入图片描述
重点解析:
ax1.plot((0,1),(10,20)) 括号内的2个元组对,表示图中的点坐标。为了更清楚,我们加上上节课神秘九宫格中的散点命令scatter

import matplotlib.pyplot as plt


fig1 = plt.figure()

ax1=fig1.add_subplot(111)
ax1.plot((0,1),(10,20))
plt.scatter((0,1),(10,20))
plt.show()

得到的是这样的效果:
在这里插入图片描述
解析:
plt.scatter((0,1),(10,20)) 这里的scatter()命令,可以利用括号内的坐标点,进行描点

动脑思考:
如果想要得到虚线绘制的图,应该添加什么样的参数呢?效果如图
在这里插入图片描述
重点沿伸
因为我们今天重点学习的是add_subplot命令,我们刚刚使用了他的第一个参数111,接下来我们用一下他的第二个参数221,222,223,224,感觉到很奇怪吧,为什么我会写出四组数字呢?
看一下这张图,或者你能悟出原因来!
在这里插入图片描述
这四张图,很好的利用了add_subplot添加子图功能,以下是原代码

import matplotlib.pyplot as plt


fig1 = plt.figure()

ax1=fig1.add_subplot(221)
ax2=fig1.add_subplot(222)
ax3=fig1.add_subplot(223)
ax4=fig1.add_subplot(224)


ax1.plot((0,1),(10,20),color="red")
ax2.plot((0,1),(10,20),color="blue")
ax3.plot((0,1),(10,20),color="brown")
ax4.plot((0,1),(10,20),color="black")

代码解析:

  1. 我们用了一个画布,fig1
  2. 我们为这个画布添加了四个子图,2行2列,被切分成四个格子,按照顺序排列为1,2,3,4
  3. 四个子图分布命名为ax1,ax2,ax3,ax4
  4. 利用plot把四个子图上的坐标连接到一起,然后用不同的颜色标识一下,就得到了我们上面看到的最终效果啦!
    好学的你,看懂了吗?

反思延伸:

学习就是这样一个不断思考,不断提升,不断练习,不断成长的过程,编程是一个神奇的分析和思考过程,众多参数可以帮助我们灵活运用程序,达到自己想要的设计效果,相信前进的路上,我们一起成长!
为了大家更好的学习和理解,特别送出一个增加难度的代码分析,大家看一下这段代码,你能理解多少?

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import gridspec

#random_nums取1~50之间随机2个整数
random_nums = np.random.randint(1, 50 ,2)

random_nums2 = np.random.randint(1, 50 ,3)
random_nums3 = np.random.randint(1, 50 ,4)
random_nums4 = np.random.randint(1, 50 ,5)

print(random_nums)
 
fig1 = plt.figure()
 
ax1 = fig1.add_subplot(221)
 
ax2 = fig1.add_subplot(222)
 
ax3 = fig1.add_subplot(223)
 
ax4 = fig1.add_subplot(224)

 #思考一下,这里的四段代码含义吧!!!
ax1.plot(range(len(random_nums)), random_nums)
ax2.plot(range(len(random_nums2)), random_nums2)
ax3.plot(range(len(random_nums3)), random_nums3)
ax4.plot(range(len(random_nums4)), random_nums4)
plt.show()

最终得到的效果图形,上来了!
在这里插入图片描述
能用你自己的理解,说说这段代码的含义吗?

										书友汇-德天老师,期待你的精彩分析哦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值