数据分析三大利器-3

Matplotlib   mat(矩阵)+plot(画图)+lib(library 表示库的意思)

该库是专门用于开发2D图表(包括3D图表),使用起来很简单,以渐进,交互式方式实现数据可视化

为什么学习matplotlib?

是为了进行数据可视化,可视化是在整个数据挖掘过程中的关键辅助工具,可以清晰的理解数据,从而调整分析方法,总体来说就是将数据进行可视化,更直观的呈现,使数据更加客观,更具说服力

推荐两个网站:https://d3js.org  ; https://bost.ocks.org       echarts

实现一个简单的matplotlib画图

 主要就是导入正确的包,创建画布以及使用plot绘制函数和show显示函数,使用不同的画图函数最终显示的结果也是不同的

拓展知识点:Matplotlib三层结构(了解,就是为了更好的理解作图的步骤,但其实不了解也不影响画图,毕竟步骤就那么几步,项目中已经实现过)

1.容器层

2.辅助显示层

3.显示层

接下来来学习折线图(plot)与基础绘图功能

 以上操作是最基本的对折线图的绘制,接下俩可以设置其中的属性

设置画布属性与图片保存

 注意dpi的含义(dot per inch),其他参数已经很熟悉    注意保存时用的是savefig()函数,里面的参数是path,即保存路径

修改x,y轴刻度

 第一个参数为想要的刻度值,第二个可选,可以是刻度格式的要求,不一定需要

中文问题解决

分三步解决:

1.安装字体

2.删除matplotlib缓存文件

3.配置文件matplotlibrc的修改(自行百度)

添加网格显示(为了更加清晰的显示数据)

第一个参数是默认的,可以不写,决定的是网格的显示与否;第二个是网格的类型;第三个是透明度

添加描述信息

涉及到的函数就是xlabel,ylabel,title等,或者还有Legend,是用于再图像中显示图例的

在上面的例子中只在一个画布中绘制了一个折线图,如果还想绘制另一组数据的折线图,需要再次调用plot函数

在调用plot函数时,可以设置color以及linestyle

 plt.legend(loc="best")

legend中可以传入的参数:

 但一般还是什么都不写

多个坐标系显示-plt.subplots(面向对象的画图方法)

在同一个画布中同时绘制多个子图,如下图所示:

 

折线图应用场景

1.呈现公司产品(不同区域)每天活跃用户数

2.呈现app每天下载数量

3.呈现产品新功能上线后,用户点击次数随时间的变化

即某一指标随时间变化的状况

拓展:plt.plot()也能绘制各种数学函数图像,例如:

 x的数据要很多,要密集,这样图像看起来会是连续的

常见图表

plot()

scatter()

bar()

histogram()

pie()

 使用时调用函数传入数据即可

柱状图(与直方图区分)

 

直方图

直方图形状类似柱状图却和柱状图有完全不同的含义,直方图牵涉统计学的概念,首先要对数据进行分组,然后统计每个分组内数据元的数量。在坐标系中,横轴标出了每个组的端点,纵轴表示频数,每个矩形的高代表对应的频数,称这样的统计图为频数分布直方图

 相关概念:

       组数:在统计数据时,我们把数据按照不同的范围分成几个组,分成的组的个数称为组数

       组距:每一组两个端点的差   图中为5

直方图和柱状图的区别

1.直方图展示数据的分布,柱状图比较数据的大小

2.直方图X轴为定量数据,柱状图X轴为分类数据

3.直方图柱子无间隔,柱状图柱子有间隔

4.直方图柱子宽度可不一,柱状图柱子宽度须一致:柱状图柱子的宽度因为没有数据含义,所以宽度必须一致,但是在直方图中,柱子的宽度代表了区间的长度,根据区间的不同,柱子的宽度可以不同,但理论上应为单位长度的倍数

 组数需要自己求出来:(数据的最大值max-数据的最小值min)//组距   进行整除或者不整除也可以

normed的设定影响到是否在图中显示频率,默认是不显示的

直方图注意点

1.注意组距:组距会影响直方图呈现出来的数据分布,因此在绘制直方图的时候需要多次尝试改变组距   还有坐标轴刻度的问题也要注意,为了数据显示的完整性也需要调整

2.注意Y轴所代表的变量

Y轴上的变量可以是频次(数据出现了多少次),频率(频次/总次数),频率/组距,不同的变量会让直方图描述的数据分布意义不同

直方图应用场景

1.用于表示分布情况;2.通过直方图还可以观察和估计哪些数据比较集中,异常或者孤立的数据分布在何处

饼图

传入数据之后会自动计算百分比   autopct设定的是格式化输出

1表示占一个位置,.2表示保留两位小数

%%是为了结果显示中能出现百分号

 添加这一行代码后会让图像显示更正常

记得添加legend设置图例,担当类别过多时不适合再用饼图来表示数据分布,更宜采纳柱状图来显示数据占比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值