大家好,有一阵没出来冒泡了,是不是想对我说想死你了?(画外音:想你死了)
最近倒也没闲着,除了把周历一口气翻完外,又玩了一个很真实的steam游戏《中国式家长》,这不刚看到个让我很感同身受的信息图:
嗯,从小到大,笔者最讨厌的好像还是“别人家的孩子……”之类的啊,那今天就来仿制一下这个玩意儿。
从外观上看,这是个克利夫兰点图(Cleveland's dot plot),也有人亲切称作棒棒糖图(lollipop chart),使用线型和散点图组合的方式表达多重信息,强调数据的排序展示以及数据之间的差距,点图一般是横向展示,所以y轴为类别型变量,x轴为需要展示的数据值。
但,这张图片上并没有留给我们除了数字以外的指标,我们要如何构建出这样形状的图形呢?小意思,FineBI轻松搞定。
首先我们看一下数据预览,OCR工具太烂,我手敲的:
(画外音:怎么好像混进了奇怪的东西?我:怎么可能,绝对没有。)
1.数据预处理:
1.1 新增排名列-基于【数量】的升序排名
1.2 新增列-求排名平均数
1.3 新增辅助列
插入公式:if(排名>=平均数,排名,平均数-排名+平均数-0.5)
公式本身是为了构筑一条折线效果的坐标轴,其中0.5是偏移量,用来规避横轴重叠,可以根据个人喜好设置。
数据预处理完毕,开始作图吧:
2 绘图阶段
2.1 复制指标字段【排名】,生成【排名1】,转化为维度,并拖入纵轴;然后讲辅助列拖入双份到横轴,记录数拖入最后。顺利的话你会看到这样的画面:
2.2 设置第一个辅助列的图形为点图,拖入【数量】到大小中,把点的形状设置为方形:
2.3 设置第二个辅助列为柱形图,再把柱宽调到最低:
2.4 设置记录数图形为点图,把文字内容拖到标签里显示:
2.5 对【排名1】进行降序排列:
2.6 对横轴进行逆刻度,把一切都逆转过来!
2.7 调整颜色、比例、自适应、透明度等等:
本文的描述风格由@Leo.Tsai 调教而成。
好了,最终效果如下,原图作者应该对数据进行了比例缩放,所以我也计算了一次对数值,这样看起来显示的效果要好很多。
等等,你问我图片最后一行文字是什么??
我怎么知道,它是什么时候跑进去的呢?好奇怪啊…
数据表.xlsx
(9.18 KB, 下载次数: 117)
移动端效果预览:
编辑于 2020-7-15 14:05
|