如何解决ggalluvial 中的其他颜色透明度类别
我正在尝试重现移动流程图,但我真的不知道如何为基于轴 2 类别的填充参数添加额外的颜色透明度。或者这是否是解决这个问题的方法!
任何建议将不胜感激,谢谢!
我想要达到的目标: Mobility flow diagram
我所拥有的: My mobility flow diagram example
我的移动流程图示例代码:
library(ggplot2)
library(ggalluvial)
oclass <- c("1st","1st","2nd","3rd","3rd")
dclass <- c("1st","3rd")
Freq <- c(700,200,100,600,50,250,700)
odclass <- data.frame(oclass,dclass,Freq)
ggplot(odclass,aes(y = Freq,axis1 = oclass,axis2 = dclass)) +
geom_alluvium(aes(fill = oclass),width = 1/6,reverse = TRUE) +
geom_stratum(width = 1/6,alpha = 0,reverse = TRUE,color = "black") +
geom_text(aes(label = after_stat(stratum)),stat = "stratum",size=5) +
scale_fill_manual(values = c("darkcyan","darkgoldenrod2","mediumorchid")) +
theme_minimal() +
theme(axis.title.y = element_blank(),axis.text.y= element_blank(),legend.position = "none",plot.title = element_text(hjust=0.5,size=18),axis.text.x = element_blank())
解决方法
添加您想要的内容非常容易。您只需将 alpha
映射到 dclass
,然后使用 scale_alpha_manual()
设置您想要的值。
library(tidyverse)
library(ggalluvial)
#> Warning: package 'ggalluvial' was built under R version 4.0.4
oclass <- c("1st","1st","2nd","3rd","3rd")
dclass <- c("1st","3rd")
Freq <- c(700,200,100,600,50,250,700)
odclass <- data.frame(oclass,dclass,Freq)
ggplot(odclass,aes(y = Freq,axis1 = oclass,axis2 = dclass)) +
geom_alluvium(aes(fill = oclass,alpha = dclass),width = 1/6,reverse = TRUE) +
geom_stratum(width = 1/6,alpha = 0,reverse = TRUE,color = "black") +
geom_text(aes(label = after_stat(stratum)),stat = "stratum",size=5) +
scale_fill_manual(values = c("darkcyan","darkgoldenrod2","mediumorchid")) +
scale_alpha_manual(values = c(0.9,0.7,0.5)) +
theme_minimal() +
theme(axis.title.y = element_blank(),axis.text.y= element_blank(),legend.position = "none",plot.title = element_text(hjust=0.5,size=18),axis.text.x = element_blank())
#> Warning in to_lodes_form(data = data,axes = axis_ind,discern =
#> params$discern): Some strata appear at multiple axes.
#> Warning in to_lodes_form(data = data,discern =
#> params$discern): Some strata appear at multiple axes.
#> Warning in to_lodes_form(data = data,discern =
#> params$discern): Some strata appear at multiple axes.
由 reprex package (v1.0.0) 于 2021 年 3 月 29 日创建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。