数据可视化效果若干经验与资料分享

简介:  【编者按】本文作者星河里的章鱼喵,文章通过介绍Visualization 即可视化,罗列了数据的展现方式。对于数据分析最困难的一部分就是数据的展示,解读数据之间的关系,清晰有效的传达并且沟通数据信息。

 【编者按】本文作者星河里的章鱼喵,文章通过介绍Visualization 即可视化,罗列了数据的展现方式。对于数据分析最困难的一部分就是数据的展示,解读数据之间的关系,清晰有效的传达并且沟通数据信息。

对于数据挖掘,我们可以通过文中对数据可视化的案例找到分析数据、展现数据的方法和思路。

Data visualization 是一件很有趣的事情。最近在尝试处理数据,便顺手翻了翻 visualization 的进展,然后除了 IBM 大名鼎鼎的的 many-eyes 。

还有一个比较好有意思的网站是visualizing。Visualizing 跟 many-eyes 很像,都是社区形式的网站,用户可以注册然后上传,而且网站还有积累下来的很多数据供用户使用。

当然我不是为了介绍这个网站才写这篇 post 的,写 post 是一个记笔记的过程,如果我不能从中学到什么,就有点浪费时间了。下面进入正题,我尝试总结一下 visualization 的时候的几个可用的经验。

应该使用何种形式来表现数据

从 visualizing.org 的分类中提取出来的有用的形式包括(不过说实话这样分类并不是很好用)

  1. Chart

  2. Time series

  3. Map

  4. Flow

  5. Matrix

  6. Network

  7. Hierarchy

  8. Info-graphic

要可视化的数据可以分几类(我想的不全面,欢迎补充,共同学习)

有一系列对象,他们之间相互有关联

写成 A↔B 粗体的拉丁字母表示一系列对象,比如一系列地点。

这种情况下因为要展示数据之间相互关系,所以实质上是一个 network 图,不过通过一些技巧可以把简单的 network 图变成更好的形式。

方式一:使用转换成 flow 图。通过把对象列出两遍来是的原本应该是一个比较复杂难以看清的 network 变成了清晰易查找的 flow。

这类图中我喜欢的一个是 people moving 的 flow

这个 flow 图非常好的展示了从一个国家移民到另一个国家,上面的截图就是人们移居(migrate,是移民么?)到加拿大的情况,可以看到中国(CH)移民到加拿大的还是比较多的。通过这样的 flow,我们可以很容易很直观的分析数据。

方式二:圈形的 network 图。为什么要做出圈形呢?因为圈形可以使得连线集中在圈内部,而且可以减少数据交叉。通过 interactive design,可以使得连线无交叉。比如这个 Migrants moving money:

这个截图是中国的侨款,也就是中国移民所寄回祖国中国的钱数。可以看排除香港地区,美国是最大的来源。

事实上这种方法与第一种本质是相同的。

方式三:network 图。通过点和连线来关联。例子比如Attractions of Councils: WEF GAC interlink survey

但是这个图实际上并不好。而且有时候,线条是可以去掉的,比如这个国际航班的可视化:

Click a nation to see all connected nations via flights. Click again to see arranged nations based on the distance. Double-click the background to reset.

截图:

方式四:使用 table。不过为了更直观,使用面积等方式来代表数据的大小。

比如 10 个人任意两个人之间相互按照对对方的好感程度打分,为了展示任意两个人 A 和 B 之间相互的好感程度,可以使用颜色柱来展示,选定一个作为两个人好感程度相同,颜色柱之上的颜色表示 A 对 B 的好感大于 B 对 A 的好感,反之亦然。

这里有个 council 之间的例子,截图如下:

层级数据,数据之间可以分成几个层级关系

就是 Hierarchy 图,不过有时候可以省掉连线。

比如这个 soft drink 的 hierarchy 图

从这张截图立刻可以看到 coca-cola 和 pepsi 的庞大,通过原网页可以自由的放大缩小来查看不同的公司的产品。

这样的 hierarchy 图要比单调的并列的整整齐齐的列举要包含了更多的信息,因为圆圈的大小可以表示数据的一个维度,甚至还可以引入颜色等等来表示更多的维度。

简单的两维数据,比如某种现象出现的频数

方式一:使用 Histogram。这是比较经典的选择,即使用矩形或者线条的长度来表示数据的大小。例如这个关于能源的 visualization

方式二:使用树图(Tree map),使用面积表示数据的大小。这里有个 UN 的 Global Pulse Visualization 的例子:

方式三:使用散点,使用散点的大小或者颜色等属性来表示数据的大小。

一个很优秀的例子是学生坐座位习惯的例子,截图:

事实上 tag page 也是属于这类,我们可以通过每个 tag 的大小颜色等等来标示数据的大小。

坐标数据

除了可以使用上面说提到的方式,对于坐标数据,有个特点是可以绘制地图(Map),而 Map 可以与其他形式结合,比如 flow。一个比较好的例子是关于我们坐飞机的一张图,截图如下:

图片上部的地图是飞行的出发城市,下部的地图是终点城市。更多内容可以查看UCSB的这个站点,其中提供了 demo 软件。

不同 visualization 的结合

前些时候,以为天文学家 Goodman 写过一篇关于高维天文数据可视化的论文,其中提到了 linked views 很重要,就是说我们要多种可视化方式联合起来展示数据,我截取论文中一张图片来说明。

不同的 visualization 结合起来对数据进行多角度的呈现,可以使我们对数据有更深刻的理解。所以 data mining 实际上是一个应用非常广泛的专业,一个 data mining 专业的学生在现在这种天文专业被大量数据所轰炸(有篇论文就是说 data tsunami 时代)真是个宝贝啊。

有一个不错的历史方面的数据可视化例子,把时间线和地图集合起来展示的,这个方案实际是一种深层次的 linked views: Conflict History of the World

一些有用的工具

1、http://en.wikipedia.org/wiki/Data_visualization 自然要先查看一下 wikipedia 啦啦啦~

2、visualizing.org 有个列表:

3、http://selection.datavisualization.ch/ 列举了很多有用的工具。

4、https://github.com/blprnt/Kepler-Visualization This is a Processing sketch to visualize data from NASA’s Kepler mission.

5、http://flowingmedia.com/timeflow.html Time Flow is an open-source timeline built to help journalists analyze temporal data. The application offers several view modes–timelime, calendar, list, table–to help explore thousands of data points.

6、http://mapbox.com/ Mapbox is a tool for map making.

Data Visualization 的机构/组织/社区

1、http://envisioningtech.com/

有些不错的 data visualization,比如(图片来自 envisioningtech.com)

2、IBM 的 Many-eyes.com

这个一开始提到了,是个 visualization 的社区。

3、http://datavisualization.ch/

之前提到过它的工具列表了。这个网站是

Datavisualization.ch is the premier news and knowledge resource for data visualization and infographics.

4、http://visual.ly/

一个类似 data visualization 社区的网站。

5、http://visualization.geblogs.com/

来自 GE 的例子。

6、http://oicweave.org/

Web-based Analysis and Visualization Environment


本文所用的数据按照 visualizing.org 所标示,使用 CC BY-NC-SA 协议,除了明确指明的图片,其他图片皆出自 visualizing.org。

好了讲完了,可以用 exoplanets.org 的数据来玩玩。


原文发布时间为:2013-09-1


本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
阿里云实时数仓实战 - 用户行为数仓搭建
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求:熟练掌握 SQL 语法熟悉 Linux 命令,对 Hadoop 大数据体系有一定的了解   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
存储 安全 算法
Qt QSet 详解:从底层原理到高级用法
Qt QSet 详解:从底层原理到高级用法
1968 0
|
程序员 C语言 开发者
int main() 作用详解
int main() 作用详解
1973 0
|
4月前
|
弹性计算 安全 数据可视化
2026低代码平台排名综合测评:六大维度量化与选型指南
2026 年,在政策引导与技术迭代的双重驱动下,低代码开发平台已从企业数字化的 "可选工具" 转变为 "核心标配"。据艾瑞咨询最新数据,中国低代码市场规模已突破 131 亿元,年复合增长率稳定在 20% 以上,越来越多的企业选择通过低代码技术加速业务系统搭建。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
AI重塑金融——风控、量化与智能体的革命
金融行业一直是AI技术应用的前沿阵地。从2024年到2026年,AI在金融领域的渗透从“锦上添花”走向“核心驱动”,从“辅助工具”升级为“自主决策者”
555 1
|
11月前
|
自然语言处理 开发工具 Android开发
百宝箱开放平台 ✖️ 友盟+ SDK 接入准备
开发者可通过集成SDK,将百宝箱智能体接入友盟App,实现智能答疑与数据分析。本文详述在友盟创建App、获取Appkey,及在百宝箱创建智能体、获取TboxAgentID的完整流程,并提供iOS与Android平台集成指引,助力提升应用智能化服务能力。(239字)
445 0
百宝箱开放平台 ✖️ 友盟+ SDK 接入准备
|
5月前
|
人工智能 搜索推荐
【技术贴】AI写作为什么容易限流?AI做自媒体为什么没有人情味,因为你没有注入真人感和人味
踩坑半年,我总结出AI做自媒体的4大关键:注入个人文风、严控4道发布检测关、冷启动期聚焦垂直内容密度、人工润色提效提质。AI是助手,不是替代品——人机协同+质量把关,才是破局核心。
490 0
|
11月前
|
移动开发 算法 前端开发
正交啁啾分复用技术:基于菲涅尔变换的通信系统设计——论文阅读
正交啁啾分复用(OCDM)技术基于菲涅尔变换,实现多啁啾波形在相同时频资源下的正交复用,显著提升频谱效率。该技术利用啁啾信号的时频特性与菲涅尔域的循环卷积性质,构建高效均衡算法,并与OFDM系统兼容。仿真表明,OCDM在多径信道中结合MMSE均衡与空间分集,性能优于传统OFDM,适用于高速无线通信系统。(238字)
600 7
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1167 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
数据可视化 关系型数据库 数据处理
手把手教你选对ETL工具:从理解到实战的完整指南
在数字化时代,ETL(抽取、转换、加载)是数据处理的关键环节。本文详解ETL概念、作用及工具选型技巧,助你高效管理企业数据。
|
API 开发工具 Android开发
qq虚拟视频插件下载安装手机版, 安卓虚拟视频插件,替换摄像头工具
Xposed入口模块:拦截目标应用的相机调用‌23 Camera1 API处理:通过PreviewCallback替换视频流‌1 Camera2 API适