【干货】五个技巧教你用编程实现数据可视化

导读:数据可视化可以通过视觉形式来呈现抽象的数据信息,有利于对数据进行更深入的观察和分析,除了使用现有的可视化软件和工具,也可以用编程定制属于自己的数据可视化,本文推荐五个技巧教你用编程实现数据可视化

数据可视化五个技巧

1. 使用你最熟悉的软件

学习用编程建立数据可视化不代表要摒弃你已经熟悉的工具。我一般使用任何能够最快速解决问题的工具,这个工具可以是Excel,GoogleSheets,或者是Python。

你不需要只用R或者只用JavaScript做完所有工作,在一项工作中囊括不同的工具是有好处的。你的最终目的是制作可视化图表,每一步的结果会引导你进行到下一步,所以不要太纠结于用“正确”的方法做事。

2. 从基础做起

不要期待你第一次尝试就会做出非常高级非常惊艳的视觉效果。尤其在学习的初期,你是有很多路要走的,所以要从基础做起,再慢慢去使用更加高级的技巧。这样你才不会一开始就感到备受打击,从而放弃学习的希望。

在R语言中,有很多工具包可以帮助你做事情,甚至有时候你只要使用一个函数就行了。但是如果你不熟悉R的编程句法,我还是建议你从最基本的R语言学起,即便可能会有些难。

就好比我之前提到的d3.js这个JacaScript函式库,如果你不熟悉JavaScript,或者刚刚开始学习编程,很多类似的东西都会看起来很难。我建议你从MikeBostock写的基础教程学起,慢慢开始了解你做的东西。

3. 找一个项目去完成

不要认为要把所有的东西学完再开始做项目,这样你会被耽搁。先学习一些基础知识就可以开始了,这至少可以保证,日后当你遇到问题在网上搜索的时候,能够看懂那些解决方法。

选择一些数据,然后开始着手尝试可视化吧。一开始的进展肯定非常缓慢,你也会觉得很困惑,这都是很正常的。我直到现在还经常因为一些问题感到困惑,但你一定要坚持做完。

做项目的受益之处,在于它逼着你去学习你需要知道的。你每做完一个项目,下一个就会变得容易一些了。

通常一个数据可视化的项目会分成以下的步骤。

1.处理和格式化数据

Python

当我有一个非矩形分隔的文件 , 或数据比较凌乱时,我会写一些特别的Python脚本。幸运的话,我会找到并重新利用过去已有的脚本。有时会用Beautiful Soup来修饰,有时会用csvkit 。

R

我只有在需要加载csv格式表格时才会用到R,通常只是做数据聚合,合并,或处理从原来的数据中派生的部分。

Tabula

多用于公开的政府数据,包括在 PDF 文件中涉及的数据。没有 Tabula 的话这个过程将非常痛苦。

Microsoft Excel

只有在有需求的时候才会用到它。数据读入Excel中,然后再导入像Numbers或是OpenOffice这样的工具中。

Google Sheets

有时使用电子表格比写脚本更快,我很喜欢这样简洁的过程。

2.分析数据

在你去做最后的图形之前,你需要先了解这个数据集。

R

这里我想到的是R。 因为R作为一个开源的统计计算语言,它有一个很丰富的社区,数不尽的扩展包,以及在Stack Overflow上大量的已解答的问题。

3.制作静态图形

这对我来说通常包含两个阶段:(i)在R中进行可视化; (ii)在Illustrator中润色。

R

在R中有可视化工具包,如ggplot2,但我几乎全部使用R自带的那些功能,即base R。对此我写过很多教程。

Adobe Illustrator

如果图形要发布给别人看,我会以PDF格式保存R生成的图形,并在Illustrator中编辑。虽然有些矫枉过正,但效果还不错。我也在考虑试着用Sketch。

4.制作交互式图形

Flash已经过时了,而JavaScript是新的宠儿。R在这里应用不广。

d3.js

我用数据驱动的文档来做交互式的数据可视化(我还在学习中)。有许多例子可以用来试手。但如果我想快速完成一个图表,我有时也会尝试用 Vega-Lite 。

4.认真阅读编程指南和范例

编程指南是很有用的。一开始可能会有些难,但你必须要适应。如果你的程序出了问题,很大可能是因为你写的不对,而不是代码的实现有问题。所以这个时候你就需要仔细阅读指南,确认你的函数运用是正确的。

在R语言中,所有函数的指南都是用相同的格式写的,它会告诉你这个函数有哪些参数,返回值是什么,并且之后会给出使用的范例,这些范例都非常经典。

d3.js函式库的创建者MikeBostock就写了非常好的指南,在网上也有很多其他教程。Bostock在指南中收录的大量范例是非常有用的,每当我遇到问题,在网上搜索解决方法的时候,我一般都会把出现的问题和“mbostock”放在一起搜索。

5. 着手去做

我有时会也会因为想太多而迟迟不开始,但是只要你能着手按照以上的小提示去做,能节省很多时间。用工具进行数据可视化,一般会有一个最优的做法,但没有必要从一开始就去寻找它。先把形状和颜色在屏幕上试下,然后将数据编译进去,让数据在大体上看起来没问题。如果有些不对劲(尤其是对于含有互用和动画的可视化项目),你再去寻求更优化的做法。一般情况下,即使不是最优,你的图表也是没错的。

来源:芝诺数据分析

原文发布于微信公众号 - 钱塘大数据(qtbigdata)

原文发表时间:2017-09-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏phodal

我的职业是前端工程师【六】:前端程序员如何有效地提高自己

要成为一个优秀的前端工程师,需要什么技能和学习?答案:练习 在逛知乎、SegmentFault 又或者是相似的技术社区,我们总会看到类似的问题。新手总会关注于,...

1786
来自专栏守候书阁

个人建议-怎样写出一篇好文章

写文章有几个月了,之前跟几个作者交流写作的方式,有几个作者说自己不知道怎样写好文章,有两个还说,自己写的文章,即使是自己读也是感觉不通顺,但是不知道怎么改!见这...

531
来自专栏编程

web前端开发如何入门提高?

想要成为web前端工程师应该如何开始学习呢?学完HTML以及css之后应该从哪些方面学习呢?入门web前端开发之后又该如何提高自己的前端开发技术呢?如果是自学,...

2000
来自专栏程序员互动联盟

【专业技术】 Linux下如何学习c语言?

引言   尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的开发者,他们为了编写、移植或维护应用程序而必须学习新技能。   本文是为...

3156
来自专栏程序员八阿哥

你是如何自学 Python 的?

我是自学的Python。从对Python一无所知,到在博客上写Python相关的系列文章(Python快速教程),前后有将近三年的时间。期间有不少门槛,但也充满...

211
来自专栏守候书阁

个人分享--web前端学习资源分享

6月份开始出没社区,现在差不多9月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了!一般来说,差不多到了转正的时候,会进行总结或者分享会议!那么今天...

732
来自专栏全栈工程师成长之路

前端开发-项目实践计划预告

1314
来自专栏程序员互动联盟

【专业技术】编程老手如何化解棘手难题

依然记得上一节编程课的时候,老师说过一句让我一直到现在都还记得的话“只要是软件,就一定有bug;只要是软件,他的功能就是有限的;功能越强大的软件,他的问题就越多...

3095
来自专栏大数据文摘

五个技巧教你用编程实现数据可视化

26310
来自专栏程序员互动联盟

如何用三个月搞定C语言

C语言上个世纪七十年代诞生至今,已经度过了40多个春秋,在此期间经历多次的版本的更迭,目前市面上绝大部分语言的底层实现都是基于C语言,随着C语言之父的逝去,C语...

2465

扫描关注云+社区