Word天呀,气泡图居然还有这种操作~
在之前写实习僧爬虫可视化案例之时,曾经用过一个很类似气泡图的图表——气泡云图(superbubble)。
它的图表信息呈现与文字云非常相似,都是在控制一组元素的大小,文字云的大小是文字,气泡云图的大小是形状(气泡)。
虽然看起来,它与普通气泡图比起来非常相似,但是实质上数据信息含量已经大相径庭,气泡图实际上使用了三个指标变量,而气泡云图仅适用了两个(而且仅有大小变量是数值型的)。
实际上以上对比是为了启发大家一种认识图表的思路:
通常情况下,我们被各种课程或者书籍指导着,认识到的可视化无一例外的是从数据如何转换为图表,坦白的说,这中思路问题不大,至少没有方向性的失误。
但是可视化是一套理念,而非流程或者过程,从数据到图表仅仅解决的是数据(变量)通过视觉信号映射到图表的过程,更为完善的可视化视角应该是:
你既要知道视觉元素是是如何通过数据映射到图表上的,更要知道一张已经被映射完成的图表,其视觉信号如何还原为原始的数据结构,毕竟很多职场人士是先看到自己觉得满意的图表之后,再回过头来思考自己的数据怎么做成那种理想的图表。
即可视化是一套从数据信息到视觉信息,再由视觉信息还原数据信息的过程。(个人愚见)
今天要讲的气泡云图,你可以这么理解,我们有一组指标(离散),并且想要呈现(从宏观上)该组指标的客观大小。以上属于正向的从数据到图表的可视化思维。
更加常见的情况是,我看到了一张非常漂亮的气泡云图,我想要将其用在我的项目或者业务报告之中,那么你一定要搞明白,你是否有这么一组指标(数据),仅需从宏观上呈现其大小。(因为这种需求有很多图表类型可以运用,而且达到的目的大同小异)。
这里仍然以之前那个实习僧职位需求top100企业为例:
我会分别使用PowerBI、Tableau、R语言来制作这一案例。
PowerBI:
我完成后的整个软件界面是这样的,大家可以看到,我只使用了两个字段:分别是一个文本标签和一组对应频率。
在superbubble的菜单中,刚好对应category选项和Role_DisplayName_Values字段。
就这样,完成了PowerBI中的气泡云图的制作。(该图表对象并非PowerBI内置图表对象,需要在其官方的在线社区中下载对应插件并加载之后才可用)。
Tableau:
在Tableau操作界面中,仍然是使用两个字段,我将文本字段作为标签,freq作为大小映射给了该图表对象,同时因为Tableau系统中的图形对于颜色设置了非常严格的使用标准,所以默认是单色的,为了不过于单调,我将freq又映射给了一个颜色标度。(由此可见Tableau在数据可视化领域的专业性和权威性,PowerBI一直是在替用户选择,Tbaleau是用户掌握选择权)。
R语言:
R语言的官方社区中没有气泡云图(superbubble),但是在HTMLwidgets的开发者社区里,有一个制作该图表的扩展包:
devtools::install_github("jcheng5/bubbles")
library(bubbles)
library(RColorBrewer)
example:
bubbles(value = runif(26),label=LETTERS,color=rainbow(26, alpha=NULL)[sample(26)])
以下接前面案例:
mydata<-read.csv("D:R/File/shixiseng_job.csv",stringsAsFactors=FALSE,check.names=FALSE)
color1<-brewer.pal(9,"YlOrRd")
color2<-brewer.pal(9,"Greens")
color<-c(color1,color2)
colorpan<-sample(color,100,replace = TRUE)
bubbles(value =mydata$Freq,label=mydata$Var1,color=colorpan)
简单几行代码,一幅还算看的过眼的superbubble图表就完美出炉了,关键是,它的信息呈现角度与众不同,给人的视觉感受比较震撼,令人耳目一新,心领神会。
总结一下今天的分享概要:
1、可视化的两个环节:
从数据到图表——数据元素到视觉信号的映射过程
从图表到数据——视觉信号还原为数据结构的过程
2、图表的数据信息含量一致,与所使用的软件无关:
因而所有的可视化工具在设计底层理念的时候,都是有规律的,不要害怕软件操作难,我们掌握心法就好。
阅读原文进入本人博客,所有文章均会在博客同步更新,博客内可直接跳转GitHub主页,直达所有案例数据仓库。(也可进入交流群获取案例数据)