Python数据分析入门日记Day19
——数据绘图库Matplotlib:散点图
祝我的所有读者新年快乐!
今天学习了散点图,众所周知,散点图能够反映变量两两之间的相关性,在绘制散点图之前,还是先来搞清楚Matplotlib中绘制散点图的函数scatter()里的一些参数。
1、scatter()函数
其中,x和y为用于绘制散点图的数据;s指定散点图中点的大小,默认值为20;c可以用于设定散点图中点的颜色,默认为蓝色;marker用于设定点的形状,默认为圆圈”o”;当用于绘制散点图的数据为浮点型数组时,cmap这个参数才起作用,也是用于进行颜色设定;norm用来表示数组的量度;vmin和vmax对量度进行设置,用途跟norm类似;alpha用于设置透明度;linewidth设置散点图边界的粗细;edgecolors用于设置散点图边界的粗细。
2、一般散点图的绘制
案例:腰围和体重的关系
今天的案例采用之前学习SPSS时用于回归分析的腰围和体重数据。首先,导入所要用到的库,选取绘图风格,进行中文乱码和坐标轴负号处理,并读取数据,查看前五行。(这些都是每次绘图前必不可少的工序,只要记得套用就可以啦)
更改scatter()函数中的参数,为绘制的散点图进行DIY:
设置标题和坐标轴标签,对数据进行说明,可以便于他人读懂散点图所传达的信息。
最后,千万不要忘记用plt.show()函数展示绘图结果:
从腰围和体重关系的散点图中,可以很明显地看出,腰围和体重之间存在正相关关系。
完整代码:
3、组散点图的绘制
案例:工资收入的影响因素
使用之前学习SPSS时用到的工资收入的影响因素数据(其中,数据集中sr表示工资收入,gl表示工龄,单位:月,性别Sex一栏F表示女性,M表示男性)。
为在散点图中区分不同性别的职工,为其表示的散点设定不同颜色后,再对散点图进行绘制。编写一个for循环,提取不同性别的职工工资收入和工龄的信息。
添加散点图中的轴标签和标题,并在左上方放置图例。
最终绘制出的散点图如下:
从工资收入的影响因素散点图中可以看出,该公司女性职工的工龄明显高于男性;若工龄相同,男性职工的工资会高于女性职工;当获得相同报酬时,女性职工的工龄大于男性。
4、气泡图的绘制
案例:腰围和体重关系
利用腰围、体重、体脂的数据,完成气泡图绘制的学习。首先,导入所需库(numpy、pandas、matplotlib),读取数据并查看数据的前五行。
利用scatter()函数绘制气泡图。
设置x轴和y轴的刻度范围,添加标签和气泡图标题,别忘了用plt.show()显示图。
最终绘制出的气泡图如下:
腰围和体重呈现的关系依旧是正相关,图中气泡大小表示体脂,很明显体重越轻、腰围越小的人体脂低。另外还可以看出,即使具有相同的腰围和体重,但体脂还是有所不同。
完整代码:
5、散点图+线性回归
在很多数据分析报告中,我们常见散点图和线性回归同时出现,可以更全面地反映变量间的相互关系。调用线性回归模型需要从sklearn库中导入。
依旧用腰围和体重数据完成这一块内容的学习。首先,读取数据并完成对散点图的一些基本设置:
开始建模:
完成对绘制图的标题、坐标轴标签等一系列设置:
最终的散点+线性回归图如下:
完整代码:
今天关于散点图绘制的学习就告一段落啦,特别是气泡图能够反映更多变量信息,我们要更熟练和广泛地运用。
最后,老样子,如果有什么好的意见和建议欢迎留言指点~明天是我的学习笔记陪伴大家的最后一天啦!感谢一直以来支持我的你们,也感谢大过年依旧勤奋的我自己,爱你们哦!
Ovaltine
领取专属 10元无门槛券
私享最新 技术干货