ggplot2: добавление окраски к исправленному объекту ggplot - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть объект fix ggplot (пришедший из приятной функции, которую я не хочу трогать).Тем не менее, я хотел бы добавить немного окраски после этого, чтобы добавить новые данные.Как это возможно?

Вот простой пример.

gg <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point()

Теперь я хочу, чтобы объект gg был окрашен Petal.Length, например что-то вроде (но это не работает)

gg_colored <- gg + aes(col=Petal.Length)

для получения:

enter image description here

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

С помощью ответа Паолоусеби я также нашел способ добавить новую переменную окраски (вместо Petal.Length, которая находится внутри радужной оболочки)

mydat <- gg$data 
mydat$col <- rep(LETTERS[1:3], each=50) 
gg_colored <- gg + geom_point(data=mydat, aes_string(col="col"))
0 голосов
/ 14 ноября 2018

Решение состоит в том, чтобы работать со способом обработки эстетики программно, используя aes_string или aes _ () .

График может быть одинаково сгенерирован с помощью

data(iris)
gg <- ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, col=Petal.Length)) +
geom_point()
gg

или

data(iris)
gg <- ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width))
gg_colored <- gg + geom_point(aes_string(col="Petal.Length"))
gg_colored
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...