微信号:csdnbigdata

介绍:CSDN分享Hadoop、Spark、NoSQL/NewSQL、HBase、Impala、内存计算、流计算、机器学习和智能算法等相关大数据观点,提供云计算和大数据技术、平台、实践和产业信息等服务.

10 分钟用 Python 搞定数据可视化!

2019-03-04 08:40 齐伟


本文选自 | 《案例上手 Python 数据可视化》

作者 | 齐伟

责编 | haru haru


走在大街上,满眼都是广告(说明市场经济发达,这是好事情),再观察一下广告,多是以各种样式的图形呈现,而不是简简单单地把数字呈现出来,即使是数字,也会想办法把数字搞得像图一样。这样做的目的是要吸引人的注意,并且能够让人一眼就能看到想要看的。


别以为这是广告商的策略,其实,他们只是顺应了大脑的特点。因为大脑的这种喜好,所以才非常有必要“数据可视化”,即用某种适合的图像来表示某些数据。那常见的图像有哪些呢?


01

常见图像和用途


“数学性可视化”,就是要将数据用图像的方式表达。从数学角度来看,不同的图像有不同的用途或目的,下面依次简要说明(此处姑且讨论二维图像)。


散点图


还记得高中物理课学过的折射定律吗?也称为斯涅尔定律,假设不知道,我们就探索一下。用实验的方式分别测量光线入射某透明介质的入射角和折射角大小,测量多次,于是就得到了入射角和折射角的数据集,分别用 alpha 和 belta 表示。


有了这两组数据,怎么研究入射角和折射角之间的关系呢?它们之间符合什么函数关系?


一种常用的方法是:


  • 建立一个坐标系,横坐标表示入射角,纵坐标表示折射角;

  • 将入射角及其对应的折射角,作为坐标系中的一个坐标点,在此坐标系中把点标记出来。


这样就在坐标系中“散落”了很多点,如图 4 所示:

图 4  入射角和折射角散点图


接下来的任务就是观察这些点在坐标系中的分布,猜测它们应该符合什么函数关系,比如可能符合某个一次函数关系等(看起来像符合正比例函数的关系,人类曾经很长时间都这么认为,直到伟大的物理学家斯涅耳揭示了其中的奥秘为止)。


通过这个例子,可以总结如下:


  • 绘制散点图,要有对应的两组数据(二维图);

  • 两组数据所对应的两个变量是连续变量;

  • 散点图的用途在于发现变量之间的关系。


在实际业务中,散点图的样式可能具有多种,而且也不一定都是用来寻找某种函数关系。比如在地图上用色彩深浅画出各个城市的 PM2.5 指数,这也是一种散点图,通过这种散点图就能够看到污染城市的地理分布规律。


柱形图


柱形图(也称为:柱状图),适用于二维数据集,但是有一个维度的数据需要具有比较意义。比如下面的数据:


对于这份数据,就比较适合用柱形图进行可视化。


图 5 部分省 GDP 柱形图


图中所示的柱子高度,表示数据表中各省的 GDP 值。


通过柱形图,非常明显地反映了各省 GDP 数据的差异。


但是注意,柱形图不适合大数据,在横坐标上如果排满了柱子,看着多眼晕呀。


条形图


条形图,貌似就是柱状图横过来,对于数值都是大于 0 的数据而言,画出来的条形图可以这样理解。但是,下面这种类型的数据也是比较常见的。

从数据表中可以看出,我国部分城市 1 月份最低气温,有的在 0℃ 以上,有的在 0℃ 以下。对于这类数据,用条形图显示,结果是这样的。


图 6 部分城市最低温


当然,这份数据也可以用前面的“柱形图”实现可视化。


折线图


下面这份数据,是 1961 ~ 2017 年我国的 GDP 年度增长率。显然,如果用条形图、柱形图来实现可视化,效果都不是太好,因为数据量有点大了。

注:因为数据量比较多,所以显示部分。


对这份数据实现可视化,比较好的选择是绘制折线图。

图 7 我国理念 GDP 增长


从图示结果中,可以看出 GDP 的发展变化趋势。


折线图最典型的应用应该算是在股票方面了,范围大一点可以说是“金融数据分析”方面。


直方图


直方图貌似“柱形图”,但两者有很大区别。


直方图是以各个矩形的面积描述各组的频数,所有矩形的面积之积为各组频数的和。


例如,使用下面的程序构造了一批随机数。

想直观地了解这个数据集中数字分布的特征,就可以利用直方图。

图 8  正态分布


从图中可以看出,虽然是随机生成的,但是数据的分布还是有规律的,这就是统计学中的正态分布。


饼图


饼图常用于表达某些量所占比例的情况。例如:


图 9 饼图


图中显示了不同量占据总量的百分比,通过饼状图就能够对比分类数据的数值大小。当然,如果类别太多,会把“饼”分成太多的小份,不美观,也不易于观察。


箱形图


箱形图又称盒须图、盒式图或箱线图。


图 10 显示了通常的箱形图的形状:


图 10 箱线图


通过箱形图,可以观察到如下信息:


  • 数据的统计值为中位数、最大值、最小值等

  • 数据集中是否存在异常值,以及异常值的具体数值

  • 数据是否是对称的

  • 数据的分布是否密集、集中

  • 数据是否有偏向性


还要提到股票,如果仔细观察,里面也用到了箱形图。


以上列出的几种图形,是常见的,也是基本的。在这个基础上,还有很多变形,这些变形可能综合了多种含义,比如堆积柱状图,能比较不同量之间的大小,也能部分显示分布情况。此外,还有一些专用图形,例如股票中常用的 K 线图,地理信息中常用的分级统计地图等。


此外,根据不同的用途,还可以创造性地开发新的图像。


为了便于检索,把一些图形的名称列在下面,供参考:


  • 柱形图

  • 堆积柱形图

  • 条形图

  • 气泡图

  • 直方图

  • 箱形图

  • 热力图

  • 散点图

  • 雷达图

  • 环形图

  • 饼图

  • 折线图

  • K 线图

  • 仪表盘

  • 词云


对数据进行可视化的时候,要根据数据特征、绘图目的选择适合的图像。


以上将“数据可视化”分为了“艺术性可视化”和“数学性可视化”两类。“数学性可视化”是基于统计学基本知识,运用编程技能实现数据可视化,这种方式特别适用于大数据的问题中。


好了,是不是很简单?你以最快的速度掌握了数据可视化最基本的知识。


关于数据可视化的更多相关知识可以订阅齐伟的达人课《案例上手 Python 数据可视化》来学习:


▼扫码试读订阅


数据可视化是数据分析和机器学习的重要环节,比如数据清洗、特征工程、机器学习、数据分析(特别是报告)、评估等环节都会用到“数据可视化”技术。


GitChat 作者

齐伟:苏州研途教育科技有限公司 CTO,在 Web 开发、数据分析、机器学习领域有比较丰富的从业经验,并在大学开设过《机器学习实践》课程。


适宜人群

  • 使用 Python 语言的开发人员

  • 大数据、人工智能工程师

  • 有关专业的大学生


点击阅读原文,用 Python 搞定数据可视化

↓↓

 
CSDN大数据 更多文章 不学设计模式,源码你都看不懂! 轻量级编程模型、Web 2.0 创业神器 Ruby on Rails&nbsp 太可怕了,这群人有毒,必须吐槽一下! 这个有争议的软件开发方法,陪伴一代程序员走过了 18 年 Spring MVC 是 Spring Boot 重复造轮子吗?
猜您喜欢 程序员们的时间管理法则 想转行人工智能?机会来了! 2018科大讯飞AI营销算法大赛总结(冠军) ✎_爱?多事的夏天,多愁善感的我。 Spark在GrowingIO数据无埋点全量采集场景下的实践