1. Matplotlib简介
下面我们来看看数据可视化的实现需要的最有力的工具之一:Matplotlib。
Matplotlib是一个Python的2D绘图库,仅需要几行代码,便可以生成绘图。一般可绘制折线图、散点图、柱状图、饼图等等。调用绘图的可视化工具需要我们用以下代码实现:
from matplotlib* import pyplot as plt*
*这里需要我们安装这个名为“matplotlib”的包,安装方法为:
① python界面里输入:pip install packageName(适用于Anaconda 中Pycharm与Jupternotebook等)
② pycharm中如果检测到未安装的包会报错并有下标提示安装,可一键点击“install package XXX”进行安装
③ 重新输入上述代码未报错即为安装成功
*as plt这里我们给matplotlib中pyplot工具起个代号为plt(简写版),以便我们后续的调用,不然下面的每一次调用都要重复输入pyplot,也太麻烦了。
用Matplotlib实现数据可视化
下面我们会讲到三类最基础,最直观也是最常用的图表绘制,折线图,柱状图与条形图,以及直方图。
折线图
折线图最常用于展现事物的趋势与变化情况,适用于显示在相等时间间隔下数据的趋势,如一年内的销售额情况,24小时里气温变化情况,一支股票某段时间内的股价情况等。
如果我们想看A公司近7年利润情况,加入标题,横纵坐标名字的话,可用以下代码实现:
结果如下:
如果你可以成功绘制出例如以上的折线图,我们就可以进阶了,在同一张图表中显示多条线就是复合式折线图,用于两组以上数据趋势变化的比较。
结果显示为:
柱状图和条形图
柱状图和条形图都可以作为分类项目的比较。但是柱形图更多地用于时间序列的变化,如近五年中每一年销售额的比较;条形图很少用于时间序列的比较, 它特别适用于多分类项目的比较,如大年初一这一天不同电影的票房比较,同一小组中不同成员的测验成绩比较等。
我们先来看柱状图,柱状图用于时间序列的变化展示,跟折线图的目的一样, 但为不同的表现形式,如近五年中每一年销售额的比较,代码实现为:
柱状图也可用作多分类项目的比较,例如五种不同产品的顾客评分比较,代码实现为:
我们再来看条形图,条形图适用于多分类项目的比较,如不同城市在2021年的销量比较,代码实现为:
结果显示为:
直方图
柱状图/条形图与直方图有什么区别呢?
首先,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类 别)则是固定的;直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。
其次,由于分组数据具有连续性,直方图的各矩形通常是连续排列,而条形图则是分开排列。
最后,条形图主要用于展示分类数据,而直方图则主要用于展示数据型数据。
直方图最常用于展现一组数据的分布情况,如我们用numpy中的random功能随机生成10000个服从正态分布的数据,可视化这些数据的分布,代码实现如下:
结果显示为:
直方图也用于不同数字组类的频率/频数分布,比如我们想看一下不同工资区间的频数,代码实现为:
结果如下,可以直观的看出工资区间在2000~4000的人数有5人: