从零开始学Python15-matplotlib

往期matplotlib绘图系列

前言

上一期中,我们通过折线图可以快速的发现时间序列的趋势图,当然他不仅仅只能用在时间序列中,也可以和其他图形配合使用,正如本期要介绍的,可以将折线图绘制到散点图中。散点图可以反映两个变量间的相关关系,即如果存在相关关系的话,它们之间是正向的线性关系还是反向的线性关系?甚至于是非线性关系?在绘制散点图之前,我们任然老规矩,先来介绍一下matplotlib包中的scatter函数用法及参数含义。

scatter函数的参数解读

matplotlib模块中scatter函数语法及参数含义:

x:指定散点图的x轴数据;

y:指定散点图的y轴数据;

s:指定散点图点的大小,默认为20,通过传入新的变量,实现气泡图的绘制;

c:指定散点图点的颜色,默认为蓝色;

marker:指定散点图点的形状,默认为圆形;

cmap:指定色图,只有当c参数是一个浮点型的数组的时候才起作用;

norm:设置数据亮度,标准化到0~1之间,使用该参数仍需要c为浮点型的数组;

vminvmax:亮度设置,与norm类似,如果使用了norm则该参数无效;

alpha:设置散点的透明度;

linewidths:设置散点边界线的宽度;

edgecolors:设置散点边界线的颜色;

一般散点图的绘制

案例:汽车速度与刹车距离的关系

这样一张简单的散点图就呈现出来了,很明显的发现,汽车的刹车速度与刹车距离存在正相关关系,即随着速度的增加,刹车距离也在增加。其实这个常识不用绘图都能够发现,关键是通过这个简单的案例,让大家学会如何通过python绘制一个散点图。如果你需要画的散点图,是根据不同的类别进行绘制,如按不同的性别,将散点图区分开来等。这样的散点图该如何绘制呢?

分组散点图的绘制

案例:iris数据集

绘制这样的分组散点图是不是也非常的简单呀,而且关于图的属性,可以想怎么设置就怎么设置。从图中可以发现,三种花的花瓣长度与宽度之间都存在正向的关系,只不过品种setasa的体型比较小,数据点比较聚集。

气泡图的绘制

案例:大区销售数据

这样一个气泡图,也非常容易的展现出来了,图中的圆越大,代表总任务量就越大。一般来说气泡图可以展现3维或4维数据,利润本图就展现了3维数据,如果再加上颜色表示不同的大区,就可以反映4维数据。

在绝大多数情况下,我们会看见散点图和线性回归线绘制在一起,一方面可以反映变量间的相关关系,另一反面,也可以定量的找到一根直线来反映这个相关趋势。接下来,我们就来实现一下散点图+回归线的绘制,这里回归线的绘制数据需要加载sklearn这个机器学习的模块,通过这个模块来生成一个线性模型。关于sklearn模块的知识分享,后期我也会以系列的形式呈现。

散点图+线性回归线

汽车速度与刹车距离的关系

从我们的第一案例就认识到了汽车的刹车速度与刹车距离之间存在正相关的关系,如果需要定量的模型来反映这个关系,就可以利用线性回归模型来刻画即可,接下来我们就来实现一下这个散点图与回归图的结合:

结语

OK,今天关于Pyhton绘制散点图的讲解就到此结束,如果你感兴趣,不妨和我一起学习与交流,同时也欢迎各位朋友继续转发与分享,让系统的知识不断的扩散出去。下一期我们将推送一篇案例,结合前面所讲的几期可视化,完成数据的探索性分析。文中相关的Python脚本和PDF版本已存放到百度云盘,可以通过下面的链接获取:

链接: https://pan.baidu.com/s/1eSnJQLk 密码: n41k

每天进步一点点2015

学习与分享,取长补短,关注小号!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171213B03LX800?refer=cp_1026

扫码关注云+社区