Вот MWE:
library(ggplot2)
library(ggridges)
ggplot(iris, aes(x=Sepal.Length, y=Species, fill=..x..)) +
geom_density_ridges_gradient()
Мой вопрос: можем ли мы сказать fill = Sepal.Length
?
Я понимаю, что ..x..
относится к вычисляемой переменной x
, и вызов geom_density_ridges_gradient
, вероятно, не увидит переменную в терминологии ggplot, но во время заклинания ggplot мы МОЖЕМ ссылаться на Sepal.Length
, не так ли?
Может кто-нибудь пояснить, почему в этом случае нужно говорить ..x..
, а не Sepal.Length
? Я не совсем уверен в рассуждениях здесь.
Если быть более точным, почему это не работает:
ggplot(iris, aes(x=Sepal.Length, y=Species,
fill=Sepal.Length)) + geom_density_ridges_gradient()
‹------------ Я хотел бы перефразировать свой запрос, начиная здесь ------------>
If I do :
ggplot(iris, aes(x = Sepal.Length, y = Species)) +
geom_density_ridges_gradient(fill = Sepal.Length)
geom_de density_ridges_gradient не сможет найти переменную Sepal.Length и выдает ошибку.
Итак, правильное заклинание должно быть:
ggplot(iris, aes(x = Sepal.Length, y = Species)) +
geom_density_ridges_gradient(fill = ..x..)
geom_de density_ridges_gradient должен быть в состоянии найти вычисленную переменную ..x .., но это НЕ работает. Может кто-нибудь объяснить, почему это так?
Другой запрос:
If I do :
ggplot(iris, aes(x = Sepal.Length, y = Species,fill = Sepal.Length)) +
geom_density_ridges_gradient()
Почему он не выдает мне сообщение об ошибке, в котором говорится, что Sepal.Length не найден,
он просто игнорирует аргумент заполнения и выводит результат, почему это?
В конце концов, похоже, что работает следующее:
ggplot(iris, aes(x=Sepal.Length, y=Species, fill=..x..)) +
geom_density_ridges_gradient()
но я не уверен, почему это работает.
В основном я не понимаю, где должен быть размещен аргумент, соответствующий заливке.