R ggplot — добавление всех точек данных ко всем аспектам

до сих пор я не могу найти подходящий ответ, вот мой короткий вопрос о ggplot2 в R:

data(mtcars)
ggplot(data=mtcars, aes(x=mpg, y=wt, fill=factor(cyl))) +
scale_fill_manual(values=c("red","orange","blue"))+
geom_point(size=2, pch=21)+
facet_grid(.~cyl)

введите описание изображения здесь

Все в порядке, теперь мне нужны все точки данных (независимо от того, какой номер у цилиндра) в каждой грани (например, с гладким серым цветом под точками)?

Спасибо, Майкл


person mod_che    schedule 19.04.2016    source источник
comment
Возможный дубликат построения всех данных внутри каждый аспект с помощью facet_wrap и ggplot2   -  person erc    schedule 19.04.2016


Ответы (2)


Вот небольшое упрощение, которое немного облегчает жизнь. Единственное, что вам нужно сделать, это удалить переменную фасетирования из данных, предоставленных фоновому слою geom_point().

library(tidyverse)
ggplot(data=mtcars, aes(x=mpg, y=wt)) + 
  geom_point(data=select(mtcars,-cyl), colour="grey") +
  geom_point(size=2, pch=21, aes(fill=factor(cyl))) + 
  scale_fill_manual(values=c("red","orange","blue")) + 
  facet_wrap(~cyl) 

person atiretoo    schedule 07.08.2017

Используя ссылку, предоставленную @beetroot, я смог сделать что-то вроде этого:

g1 <- ggplot(data=mtcars, aes(x=mpg, y=wt)) + 
  geom_point(data=mtcars[, c("mpg", "wt")], aes(x=mpg, y=wt), colour="grey") +
  geom_point(size=2, pch=21, aes(fill=factor(cyl))) + 
  scale_fill_manual(values=c("red","orange","blue")) + 
  facet_wrap(~cyl) 

Это создает график: введите здесь описание изображения

Надеюсь, это поможет вам.

person Kumar Manglam    schedule 19.04.2016
comment
Спасибо. Я уточню предложенную ссылку. Также спасибо за ваше предложение, но здесь я получаю: Ошибка: Эстетика должна быть либо длиной 1, либо такой же, как данные (60): x, y, fill, когда я применил ее таким образом к моим конкретным данным (но структура данных одинаковый). - person mod_che; 19.04.2016
comment
@mod_che: Код, который я написал, тоже выдает ошибку? Для меня это работает нормально. - person Kumar Manglam; 19.04.2016