数据可视化资源汇总(一):优秀书单、网站资源
https://bbs.pinggu.org/thread-6793625-1-1.html
经典案例
18世纪前:萌芽时期
-罗马地图 TabulaPeutinger 公元前366-335
这张地图是13世纪时的罗马帝国的公路网布局图,用图标来表示目的地,线条表示路线。是一张内容非常丰富的信息图。
18世纪:初露锋芒
-磁偏角 哈雷 1702
此图是著名的天文学家哈雷所创作,其亮点是在地图的网格上用等值线标注了磁偏角。
19世纪-20世纪前期:黄金时代
-俄法战争 CharlesMinard1812
巴黎工程师CharlesMinard用信息图的方式展示了1812年拿破仑大军征服莫斯科的艰苦旅程,信息图中的黑色粗线显示了极端天气如何影响拿破仑的军队,80%的士兵都冻死在路上。
-伦敦霍乱John Snow 1854
1854年伦敦爆发霍乱,JohnSnow医生统计每户的病亡人数,并用散点图在地图上进行标注,分析发现,大多数病例的住所都围绕在BroadStreet水泵附近,于是移掉了BroadStreet水泵的把手,霍乱最终得到控制。
-南丁格尔玫瑰图FlorenceNightingale 1858
著名护理人员南丁格尔在克里米亚战争后统计了英军伤亡人数,用数据图表的方式展示了伤亡情况,图中的三种颜色表示三种不同的死亡情况,蓝色和灰色是可预防的疾病导致的死亡。
20世纪后期-21世纪:日新月异
-探索华盛顿邮政数据库的学校枪击案
华盛顿邮报统计了从2000年开始,校园枪击案的数量,每一个点代表10名遭受枪击案威胁的孩子。
链接:Analysis | More than 210,000 studentshave experienced gun violence at schoolsince Columbine
-世界杯预测
钻石形状是根据球队国际足联排名进行对比,一侧的面积越大, 团队就越强壮
世界杯,德国和英国的排名曲线,探索了每个参与团队的国际足联官方数据,利用交互式可视化来详细了解即将到来的比赛以及团队在过去几个月中的表现。链接:https://www.vislab.io/projects/world-cup/
-音乐家的一生
这是一个关于“黑暗王子”迈尔斯·戴维斯的页面次数统计的可视化作品,用来展示这个音乐家留给后人关于音乐方面的遗产。滚动右边的文字,左边固定的数据图也会根据内容随之变化。 链接:http://polygraph.cool/miles/
-风雨气温图
即时显示世界各地天气的总趋势,左侧是一些关于气候的不同维度。选择不同的维度,地图会根据位置的情况来进行展示,呈现出色彩丰富的可视化作品。 链接:https://www.ventusky.com/?p=44;7;1&l=temperature
实用工具
工欲善其事,必先利其器,一个好的数据可视化作品,应当具备三个要素:真实、目的性和美感,做好这三点离不开优秀的数据可视化工具。
| 非编程语言工具
01. Tableau 是一个简单的、使用友好的用来迅速创建交互式可视化数据,并将它们嵌入你网站的工具。设计的目的是能由开发者、或无开发经验的人使用,例如博主、记者、研究员、律师、教授和学生。
02. Raw 是一个开源数据可视化框架, 其目标是让每个人都很容易的进行复杂数据的可视化。
03. Infogram 是一个易于使用的信息图和图表制作工具,你可以在线创建和共享美丽的信息图表、在线报告和交互式地图。
04.power bi 是一套商业分析工具,可连接数百个数据源、简化数据准备并分析,生成数据图标,可以在 Web 和移动设备上使用。
05. Visual.ly
是一个能够简单地将信息图片化的工具,只要注册帐号就可以使用,入手简单,拥有调用Twitter和Facebook数据的接口,信息获取也极其方便。
06. iCharts 是一个在线数据可视化工具,被广泛运用于商业、经济、体育等领域的报告当中,icharts提供一些基本的交互式图表样式,还可以从谷歌文档中提取数据。
| 编程语言的可视化工具
-Javascript 基于Javascript的开源数据库很多,下面列举几个比较经典的工具:
01.D3.js 基于DOM,支持w3c的web标准,使用链式方法来创建可视化,代码可重用,路径生成方法(d3.svg.line()),给予了开发人员通过定义不同路径和属性来创建实用SVG的方法。
02.chartist.js 简单而且实用的 JavaScript 图表生成工具,CSS与JavaScript分离,代码比较简洁,它支持 SVG 格式,图表数据转换灵活,同时也支持多种图表展现形式。
03.Leaflet.js Leaflet通过vector tiles分享渲染SVG的能力,支持Retina显示,能够解析数据形式,可以使用大量插件进行扩展, 具有美观、易于使用的特点。
04.Polymaps.js 是一个强大的资源库,可以创建地图的独特风格,使用SVG来生成互动的web地图,并且兼容浏览器。
05.ECharts 是基于HTML5 Canvas的一个纯Javascript图表库,拥有拖拽重计算、制作数据视图、动态类型切换、值域漫游、多维度堆积等非常丰富的功能,提供直观,生动,可交互,可个性化定制的数据可视化图表。
-Python
01.Matplotlib 是一个 Python 2D 绘图库, 可在不同平台上以各种硬拷贝格式和交互环境生成出版物质量数据。Matplotlib 可用于 python 脚本、python 和 IPython shell、Jupyter 笔记本、web 应用程序服务器和四图形用户界面工具包。
02.NodeBox 是一个Mac OS X应用程序,可使用Python编程代码创建2D视觉效果(静态,动画或交互式),并将其导出为PDF或QuickTime影片。
03.vaspy 是一个纯Python编写的处理VASP文件数据以及进行数据快速可视化的库,可以使用vaspy在命令lins中操作VASP文件,也可以编写自己的python脚本来处理VASP文件并可视化VASP数据。
- R语言 R拥有强大的社区和组件库,是一个非常复杂的工具,需要较长的学习实践
01.ggplot2 是R中用来绘制统计图形的最著名的工具包,基于图形语法,以声明方式来创建图形。
02.rgl 是R的可视化设备系统,在GNU Public License下发布,使用OpenGL作为渲染后端。其核心是在R中做3D交互可视化。
03.shiny 是一个开源 R 包, 它提供了一个优雅而强大的 web 框架, 用于使用 r 构建 web 应用程序, 帮助您将分析转换为交互式 web 应用程序, 而无需使用 HTML、CSS 或 JavaScript 知识。