今天这篇要用ggplot构造漏斗图,其实ggplot内置图层函数中不存在所谓的漏斗图、子弹图等比较复杂的图表类型,但是ggplot的现有图层函数和标度设置完全可以胜任这些图形,以下是利用ggplot临摹漏斗图的代码过程。
数据准备:
|
|
|
|
很重要的一步,需要构造有序因子变量,两个因子水平,分别是实际指标值和辅助值,在构造有序因子变量时,注意辅助值因子水平要高于实际值数据。柱形图堆叠时,按照因子水平由高到低堆叠(底层因子水平高,顶层因子水平低,这样才能将指标值的数据条撑起,其实水平均居中)。
可视化过程:
|
|
制作色盘:
(其实使用了一个白色色值隐藏掉了辅助列,理念跟在excel里面制作漏斗图一致,但是色盘颜色顺序白色要在第一个,这样将来颜色映射的时候颜色顺序与因子水平由大到小进行匹配的。)这一点非常重要,也是ggplot临摹漏斗图的核心技巧。
转向(反转坐标轴)
水平漏斗图:
反转坐标轴:
本文小结:
下面总结以下使用ggplot临摹漏斗图的核心技巧:
- 指标值和辅助列值这两个因子水平的设置上,需要设置成有序因子,因子水平大小为指标值因子水平<辅助值因子水平。因为柱状图堆叠时因子水平由大到小从底部顺次向顶部堆积。这样辅助列可以堆在底部,刚好撑起数据列,将其置于水平居中位置。因此模拟漏斗图。
- 色盘设置,色值顺序白色在前,数值色在后。颜色映射时,色板颜色会顺次分配给由高到低的因子水平。(其实因为就两个颜色,即便是颜色色值写反了,使用逆序函数倒过来就好了)。
好了,期待下一篇ggplot的脑洞吧,可能是甘特图,也有可能是瀑布图,或者其他不知名的图表~
联系方式:
wechat:ljty1991
Mail:578708965@qq.com
个人公众号:数据小魔方(datamofang)
团队公众号:EasyCharts
qq交流群:[魔方学院]298236508
个人简介:
杜雨
财经专业研究僧;
伪数据可视化达人;
文科背景的编程小白;
喜欢研究商务图表与地理信息数据可视化,爱倒腾PowerBI、SAP DashBoard、Tableau、R ggplot2、Think-cell chart等诸如此类的数据可视化软件,创建并运营微信公众号“数据小魔方”。
Mail:578708965@qq.com
备注信息:
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。