我认为无论学习什么知识,有一个战略性的思想指导是很必要的,这样在面对各种技术时才不会盲目学习。所有的技术想要钻研深入都不容易,要明确自己学习这个技术的目的是什么。
于我而言,数据可视化一方面是为了在做算法或数据分析之前对自己所要研究的数据有一个初期的了解,另一方面是为了展示算法的分析结果,比较有无算法优化情况下问题的解决方式和代价,其中第二点是主要目的,因为第一点一般通过数据各方面的统计就可以完成。
读了Packt的《Big data visualization》,其中关于数据可视化的几点概念性指导非常有道理,在此记录下来。
- 数据可视化通过一种常规化的方式来表达自己的观念,让目标受众迅速的理解你所表达的观点。
- 如何选择最合适和有效的可视化方法。
- 了解数据的大小(这个还是蛮重要的,十万级别的数据量还可以通过R比较快速的分析,百万的话就比较慢了)
- 了解数据所产生的环境
- 明确自己想要表达的信息和观点
- 明确目标受众特点
- 明确什么样的可视化效果可以最有效的传达自己的观点
工作中的编程语言,主要的Python、R、Java已经被选择好了,Python用于算法研究、R用于快速分析、Java用于微服务平台的开发,可视化方面我准备先学习一下D3.js,至于three.js、OpenGL、WebGL用到的话再说吧。这些可视化语言只作为工具,可以熟练使用即可,不打算深究其中原理和优化。
编程工具的话Python就用Spyder、R就用Rstudio、Java因为之前只用过Eclipse所以就暂定这个吧,前端今天尝试了一下HBuilder,感觉还比较好用。