Изменение формы для подмножества точек с помощью ggplot2
Я пытаюсь построить большой график рассеяния, который изменяется по большому числу измерений.
Здесь мой начальный сюжет:
p <- ggplot(mtcars, aes(wt, mpg, shape=cyl, colour=gear, size=carb)) +
geom_point()
![Sample plot with multiple variables]()
Используя набор данных mtcars
, я просто включаю в себя различные формы, цвета и размеры. Теперь я хотел бы добавить к этому некоторый отличительный знак во всех точках с carb == 8. Например, добавьте большой черный круг вокруг этих точек.
Выполнение
p + geom_point() + geom_point(colour="black", shape=1, size=5)
близок тем, что он получает круги, как я хочу, но все точки получают круги, я хочу вместо этого ограничить это только некоторыми точками.
Я был бы очень признателен за любые предложения по этой проблеме.
Ответы
Ответ 1
Вместо того, чтобы сначала помещать переменные в функцию ggplot, попробуйте сопоставить свои переменные отдельно для каждого добавляемого слоя.
p <- ggplot(data = mtcars)+
geom_point(aes(wt, mpg, shape=as.factor(cyl), colour=gear, size=carb))+
geom_point(aes(wt[carb==8], mpg[carb==8]), colour="black", shape=1, size=7)
![img]()