sankey/冲积层图,含百分比和部分填充率(R)
我想使用sankey/冲积层图,含百分比和部分填充率(R),r,ggplot2,dataflow,sankey-diagram,R,Ggplot2,Dataflow,Sankey Diagram,我想使用ggplot2和ggplot2修改现有的sankey绘图,使其更具吸引力 我的例子来自 库(ggplot2) 图书馆(GG) 数据(疫苗接种) 水平(疫苗接种$response)可以这样实现: 更改为百分比可以通过向df添加一个新列来实现,该列包含调查的百分比份额,然后可以映射到y而不是freq 要获得好的百分比标签,可以使用scale\u y\u continuous(label=scales::percent\u format()) 对于部分填充,您可以在fill上映射例如%c中
ggplot2
和ggplot2
修改现有的sankey绘图,使其更具吸引力
我的例子来自
库(ggplot2)
图书馆(GG)
数据(疫苗接种)
水平(疫苗接种$response)可以这样实现:
更改为百分比可以通过向df添加一个新列来实现,该列包含调查的百分比份额,然后可以映射到y
而不是freq
要获得好的百分比标签,可以使用scale\u y\u continuous(label=scales::percent\u format())
对于部分填充,您可以在fill
上映射例如%c中的响应%(“缺失”、“从未”)
(为“缺失”和“从未”提供TRUE
),并通过比例填充手册设置填充颜色
可以通过geom\u text
中的label=paste0(..strateum..,“\n”,scales::percent(..count..,精度=.1))
将每个层的百分比添加到标签中,其中我使用变量.strateum..
和.count..
由stat\u strateum
计算
库(ggplot2)
图书馆(GG)
图书馆(dplyr)
数据(疫苗接种)
水平(疫苗接种$应答)%
变异(pct=freq/sum(freq))
ggplot(疫苗接种,
aes(x=调查,地层=响应,冲积层=主体,
y=pct,
填充=响应%c(“缺失”、“从未”),
标签=响应)+
比例x离散(扩展=c(.1,.1))+
比例是连续的(标签=比例::百分比格式()+
刻度填充手动(值=c(`TRUE`=“cadetblue1”`FALSE`=“grey50”))+
geom_流()+
geom_地层(α=0.5)+
几何图形文本(aes(标签=粘贴0(…地层…,“\n”,刻度::百分比(…计数…,精度=.1))),stat=“地层”,大小=3)+
主题(legend.position=“无”)+
ggtitle(“三个时间点的疫苗接种调查响应”)
感谢您的帮助,此解决方案看起来非常不错。关于2,如何将百分比添加到每个地层的值旁边(如示例图所示)?Hi@captcoma。我刚刚做了一个编辑,将百分比添加到标签中。太棒了!感谢您提供此代码!