占坑,准备码一篇做数据可视化的,大部分来自网络资源。
回复来自2018年的flag(笑哭)请回答2018,我在两年后等你系列。
一、数据可视化 vs 科研数据可视化
写在前面:这里所涉及的可视化仅仅局限于简单图表。
作为一个抽象思维能力很差、对于数字极为不敏感的人,最喜欢看的就是简洁并且清晰的各类图表。在数据量雪崩式激增的今天,对于(大)数据的可视化是各行各业都必备的技能。如何利用简洁、美观、清晰的图表以及尽可能少的文字来提取和传递丰富的信息,是数据可视化的初衷和终极目标。
看下下图商用的数据可视化例子,是不是很炫酷?图中包含了多种类型的图表:甜甜圈图、文字云、成组柱状图、叠加柱状图、折线图、基于地理信息的区域分布图、以及树形图。每一幅图都可以传递不同方面的丰富的信息给客户。
图源来自网络但是,针对科研数据可视化来说,可能就不太适合了。相比起商务报表几十页的ppt、甚至是动态的图表,如何在科技论文有限的版面(如下图:1栏图或2栏图)中,合理的安排布局、图标类型来传递重要的信息是更加值得推敲的。
常见科研图标大小虽然说,科研工作的质量不能通过图表来评定,但是优秀的图表一定是加分项。
另:商务用图表参考:有哪些值得推荐的数据可视化工具? - 指北针的回答 - 知乎
二、科研图表的类型
常用的图表类型其实并不多,通过将一些基础的图表变形、组合就可以生成新的图表类型来满足我们的需求。当然,针对同样的数据,不同的人可能倾向于选择的图标类型不同,甚至同一种图表,在细节方面的选择不同也会使得最终的图表有很大的差异。整体上来说,能够清晰传递信息的图表都是合格的图表。
1)网站推荐
这里不针对图表类型进行一一的介绍,推荐两个网站~
1. datavizcatalogue
有中文版本,但是翻译的一般。网站首页如下:
网站中列举的图表类型这个网站会对每种图表提供简单的介绍,有助于大家选择合适自己数据的图表。
例如点击主界面的 条形图,进入介绍页面
条形图介绍介绍下面还有推荐类似的图表,以及可以生产 条形图 的工具(仅做参考)
2.datavizproject
这个网站是有偿定制图表的,功能相对上一个丰富一些。
首界面如下:
可以看到,主要是一些比较复杂的图表。
这个网站比较有意思的是可以通过选择输入的数据类型,来筛选合适图表。
设定输入类型点击上图中画框的位置,会弹出一个下拉框,可以选择不同的数据类型,点击之后网站会推荐所有合适的图标类型。选择一种图标类型点击进去后:
以条形图为例下面会有一些比较炫酷的例子(定制要收费的),也可以从中参考一些配色、排版等来对图表进行美化。
3.from-data-to-viz
最后这个网站也是我参考最多的网站,网站给出了多种平台下的源代码。网站设置合理,很适合新手一步一步进行学习。
首页这个网站也是从数据类型出发,选择不同的类型,会推荐不同的图表给你。选择一种图表后,会弹出窗口进行简单的介绍、易错点、不同平台源代码以及扩展阅读。
散点图为例相对来说我对R熟悉一些,所以后面以R示例~点击 R graph gallery会跳转到代码实现界面。
散点图代码实现1 散点图代码实现2会有不同风格的散点图推荐(只需要选择风格,布局、配色细节可以自己调整)。点击对应图就可以跳转到源码界面。如下:
网站的源码都可以直接运行,并且有比较人性化的备注。
网站中R语言图表的绘制大多使用了ggplot2这个包,这是一个很常用的R包,相关资料也很多,因此后续对图标的自定义也是十分的简单。
2)matlab工具包gramm
matlab最近的版本在统计上也是下了大功夫,甚至引入了类似R里的数据结构类型,但是不得不说,matlab在图表呈现上还处在小学生阶段,想要产出和R一样美观的图表,maltab就要麻烦的多。如果matlabers对R不熟悉,但同时很喜欢R生成图表的风格,这里推荐一个非常好用的matlab下的工具包。 相关示例
使用也很简单,源码公开。可以画出丰富漂亮的统计图,拟合回归也可以完成。另外对于子图的拼接也可以很好控制,如果设置合理了,甚至不需要后续的进一步调整。
gramm示例1 gramm示例1三、后处理工具 AI
此AI非彼AI我的所有图表都不是软件生成就是最后版本,多多少少都需要后续调整。这里只推荐一种常用的后处理工具:Adobe全家桶里的illustrator。
为什么不推荐photoshop?ps是一种栅格状态下的图像处理软件,基本单位是pixel,那么在图像拉伸、变化过程中都会发生图像的重采样。ps更适合于对于图像的渲染,而不适合科研图表的制作。如下图,是我生成了一个50*50分辨率为100dpi的透明背景图像,用直径为7,硬度100%的画笔画了一条曲线:
曲线 by zcx可以看到曲线边缘的栅格么?每一个小格就是一个pixel,所有在ps里面可以进行编辑的图像都会变成由这些小色块组成的色块集。下面我画一个矩形,可以看到矩形的边缘是清晰的。
矩形现在我在原位置复制了一个矩形,并且旋转一个角度:
旋转可以看到矩形的边缘不在整齐而是被切割成横平竖直,从而产生了锯齿。这里可以想象存在pixel网格,每个网格内必须填充满颜色。
确定旋转之后的差值ps为了尽量保持旋转后不产生那么难看的锯齿,在我们按enter确定旋转操作之后。会对图像进行差值。貌似ps可以选择默认差值方法,这样这个旋转之后的矩形是不是看起来好多了?
然而,想象一下这个矩形是你的坐标轴或者折线。。。这种失真会导致图表的不准确。
因此,在科研制图中,除非是对什么荧光染色图啥的进行处理,对于图表的处理要尽量避免使用ps这类软件。甚至一些杂志明确要求,所有的line art, graphs, charts and schematics都必须保存为矢量图格式。什么是矢量图?可以参考百度百科,是计算机图形学中用点、直线或者多边形等几何图元表示的图像。最大的优点就是图像放大不会失真,也不用担心分辨率的问题。
下面看个例子,我画了一条线,可以看到虽然有宽度(粗细),但是本体还是一条线(两个点):
AI中的直线同样我给他做一个旋转:
放大2400倍来看仍然是直线,没有失真(不同显示器可能看起来边缘会有锯齿,实际是没有的)。这样的
那么AI好学么?可以这么说,只要会用ppt就会用AI。
大部分软件都可以导出是和AI编辑的矢量图格式,常用的是eps格式,或者用ps(扩展名为.ps)格式、pdf格式都可以直接导入AI进行编辑。如下图:
矢量图中每个元素:线、点、图形都可以进行编辑,只需要选中就可以修改样式。可以修改诸如:填充颜色、描边颜色、描边粗细和类型、以及透明度等。
选中元素后显示如下,四角有操控块可以进行方便的缩放和旋转,和ppt一样非常方便。
如果我想对多个元素一起进行操作,比如整体移动等。只需要选中这些元素,右键编组即可。
编组这里就介绍简单的一些AI的操作~软件上手很快,几乎不需要额外的花费时间学习。
写在最后:
平时的积累时必不可少的,多看一些文章的图,好文章一般不会吝惜时间去做结果图的,毕竟营销的力量时很强大的。在看到好看的图片时候可以收藏起来,在后面自己用的时候有个参考。
说到我最不喜欢的图类型,可能就是柱状图了。单纯的柱状图传递的信息量极少,甚至可以用表格替代。至于三维柱状图,我只能说仁者见仁智者见智了。
网友评论