Day11 Python系列之数据可视化,看这篇就够了

01

无处不在的数据可视化

提到数据可视化,大家可能脑海里就会出现里各种图表、绚丽大屏、或者科幻电影里酷炫仪表。其实,日常生活里面,到处都有数据可视化的影子。

image

手表就是数据可视化的例子,最少只需要3个视觉元素(时针、分针和秒针),就可以表达43200个状态。另外,水银温度计和地铁线路图,也是生活中数据可视化的运用!

02

为什么需要数据可视化?

视觉是人类获取外界信息最高速,最主要也是最重要渠道。 超过50%的人脑功能用于视觉感知,而大脑接收到的信息 90% 来自视觉,人类利用视觉获取和处理的信息量,远远超出其他途径。

image

视觉的信息带宽是最大的,其次是触觉和听觉。

人类大脑处理图像的速度比文本快 6 万倍。所谓的“可视化”,就是利用人类视觉化的思考能力,对数据进行可视表达以增强认知的技术。

03

Python数据可视化学习

说到python的常见应用,很多人会想到python的数据分析,作为数据分析中的表现层面,数据可视化都是其中必不可少的部分。但本文并非只推荐无任何数据分析需求仅需要做漂亮可视化图表的人学习python数据可视化。本文介绍的只是一些常见的python第三方库,毕竟作为一个工具来说,这些第三方库使用起来并不是非常方便,也有一定的学习成本,普通的可视化推荐使用excel、wps,有条件的可以使用各种BI工具如:tableau,powerBI等。

那什么情况下需要用到python数据可视化库呢?

如果是在某些特定场景中,需要用到python做数据分析,输出各种图表用于辅助分析或者数据报告展示,那这些库则显得必不可少,接下来将介绍一些如何学习的方法和第三方库的介绍:

比如选择一款合适的库,先了解各种库的特点,选择合适的库,然后学习绘图原理,掌握的知识点

选择官网是最省钱和系统的学习的最佳路径,至于效率方面见仁见智。选择书籍或视频的方式也未尝不可。

  • 了解几大常用的可视化库,比如特性、使用场景、效果图等;

  • 选择一款适合自己的第三方库,比如要做国内地图类的项目,选择pyecharts;

  • 学习该库的绘图原理,各种函数调用和参数修改,就是所谓的"调参";

  • 不断练习、练习、练习;

推荐学习使用的开发工具:JupyterNotebook。在数据分析和可视化的应用中,jupyter无疑是首选,相比其他如pycharm等工具,可以将每一步的可视化图表输出在同一页面中,方便比较分析。

image.gif

04

可视化库介绍

- 1 -

Matplotlib

官方文档地址

https://matplotlib.org/2.0.2/index.html

Gallery****画廊地址

https://matplotlib.org/2.0.2/gallery.html

image.gif

matplotlib是Python数据可视化库的OG。尽管它已有十多年的历史,但仍然是Python社区中使用最广泛的绘图库。它的设计与MATLAB非常相似,MATLAB是20世纪80年代开发的专有编程语言。通常在python数据分析的教程中经常会包含该库的学习。

基础讲解:使用matplotlib绘图的原理,主要就是理解figure(画布)、axes(坐标系)、axis(坐标轴)三者之间的关系。

步骤:创建figure图形对象-> 获取对应位置的axes坐标系对象->调用axes对象,进行对应位置的图形绘制->显示图形。下图是帮助我们理解figure和axes的关系。

image.gif

- 2 -

Seaborn

官方文档地址

https://seaborn.pydata.org/tutorial.html

Gallery****画廊地址

https://seaborn.pydata.org/examples/index.html

image.gif

Seaborn利用matplotlib的强大功能,可以只用几行代码就创建漂亮的图表。关键区别在于Seaborn的默认款式和调色板设计更加美观和现代。由于Seaborn是在matplotlib之上构建的一个更高级的库,因此还需要了解matplotlib以便调整Seaborn的默认值,所以在matplotlib上的调参也可以在Seaborn上面使用。Seaborn针对的点主要是数据挖掘和机器学习中的变量特征选取,seaborn可以用短小的代码去绘制描述更多维度数据的可视化效果图。

基础讲解:原理比较简单,主要是通过sns对象调用各种类型表格的函数,这里举一个例子:

import numpy as np
image.gif

- 3 -

Pyecharts

官方文档地址

https://pyecharts.org/

Gallery****画廊地址

http://gallery.pyecharts.org/#/README

image.gif

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

这是国人开发的一个Echarts与Python结合的轮子,可以结合JavaScript等前端技术定制我们要的主题风格,功能非常强大,也是数据可视化非常常用的一个工具,也是比较推荐新手学习的。

基础讲解: 选择图表类型-> 声明图形类并添加数据,比如添加x轴和y轴的数据->选择全局变量set_global_opts,设置参数->显示及保存图表;

from pyecharts.charts import Bar
image.gif

注:各种不同的图表输入的数据格式会有所不同,导致部分复杂图表的设置难度较大。

- 4 -

**ggplot **

官方文档地址

http://ggplot.yhathq.com/

image.gif

ggplot基于ggplot2,一个 R 语言绘图系统,以及The Grammar of Graphics的概念。ggplot的运行方式与matplotlib不同:它允许你对组件进行分层以创建完整的绘图。例如,你可以从轴开始画,然后添加点,然后是线、趋势线等。虽然图形语法被称为绘图的“直观”方法,但经验丰富的matplotlib用户可能需要时间来适应这个新的方式。

- 5 -

**Bokeh **

官方文档地址

https://docs.bokeh.org/en/latest/

Gallery画廊地址

https://docs.bokeh.org/en/latest/docs/gallery.html

image.gif

与ggplot一样,Bokeh同样基于The Grammar of Graphics,但与ggplot不同的是,它是原生Python的,而不是从R语言移植过来的。它的优势在于能够创建交互式的网站图,它可以很容易地输出为JSON对象、HTML或交互式Web应用程序。Bokeh还支持流媒体和实时数据。

- 6 -

**Pygal **

官方文档地址

http://www.pygal.org/en/stable/

image.gif

与Bokeh和Plotly一样,pygal提供可以嵌入Web浏览器的交互式图。它的主要区别在于能够将图表输出为SVG格式。如果你使用较小的数据集,SVG格式的图像就可以了。但是如果制作的图表包含数十万个数据点,它们就会很难渲染并变得反应迟钝。

- 7 -

**Plotly **

官方文档地址

https://plotly.com/

image.gif

你可能知道Plotly是一个数据可视化的在线平台,但你是否也知道可以从Python笔记本使用它的功能?与Bokeh一样,Plotly的强项正在制作交互式图,但它提供了一些在大多数库中没有的图表,如等高线图,树状图和3D图表。

- 8 -

**Geoplotlib **

Github地址

https://github.com/andrea-cuttone/geoplotlib

image.gif

geoplotlib是一个用于创建地图和绘制地理数据的工具库。可以使用它来创建各种地图类型,例如等值线,热图和点密度贴图。你必须安装Pyglet(面向对象的编程接口)才能使用geoplotlib。尽管如此,由于大多数的Python数据可视化库都没有提供地图类型,因此有一个专门的库还是可以的。

更多python学习资料,请添加关注公众号:

image.gif

参考文章:《数据可视化入门教程》https://www.yuque.com/mo-college/beginner-tutorial/uvaiu2

深度讲解Python四大常用绘图库的“绘图原理” https://my.oschina.net/u/4579597/blog/4444177

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容