Как изменить прозрачность в 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)

Другие вопросы по тегам