Как изменить прозрачность в geom_flow ggplot?
Я пытаюсь изменить прозрачность элементов потока на аллювиальном участке. Я знаю, что мне нужно изменить значение "альфа", но я не уверен, где в коде мне нужно добавить этот параметр. Вот мой код:
library(ggplot2)
library(ggalluvial)
ggplot(sp.alluvial, aes(x = stage, stratum = state, alluvium = pks, fill = state, label = state)) +
scale_fill_brewer(type = "qual", palette = "Set2") +
geom_flow(stat = "alluvium", lode.guidance = "frontback", aes(fill = state), aes.flow = "backward") +
geom_stratum() +
theme(legend.position = "bottom", axis.text.y = element_blank(), axis.ticks.y = element_blank())
Я пробовал следующие варианты:
geom_flow(stat = "alluvium", lode.guidance = "frontback", aes(fill = state), aes.flow = "backward", alpha = 0.6)
geom_flow(stat = "alluvium", lode.guidance = "frontback", aes(fill = state, alpha = 0.6), aes.flow = "backward")
а также
+ geom_density(alpha = 0.6)
Любые идеи?
Благодарность!
1 ответ
Решение
Кажется, работает следующее.
Сюжет основан на втором примере в geom_lode
, поскольку вопрос не имеет опубликованного набора данных.
Я построил то же самое с разными значениями alpha
аргумент 0.2
а также 0.8
, и прозрачность потоков действительно меняется.
library(ggplot2)
library(ggalluvial)
gg <- ggplot(as.data.frame(Titanic),
aes(y = Freq,
axis1 = Class, axis2 = Sex, axis3 = Age,
fill = Survived))
gg +
geom_flow(alpha = 0.5) +
geom_stratum() +
geom_lode() +
geom_text(stat = "stratum", infer.label = TRUE)