как изменить эстетику и внешний вид только одного уровня фактора на графике ggplot - PullRequest
2 голосов
/ 09 июня 2011

Я строю набор дискретных уровней фактора на оси x и их соответствующее среднее значение результата на оси y, что-то вроде этого:

ggplot(data, aes(item, outcome)) + 
    stat_summary(fun.y=mean, geom="point", colour="red",size=3)

последний «элемент», который у меня есть, - это среднее значение, и я хотел бы сделать это визуально.

  1. Возможно ли иметь другую форму или цвет только для одного уровня элемента фактора?
  2. Можно ли физически сдвинуть или создать барьер для одного уровня фактора (как если бы это был аспект)?

1 Ответ

3 голосов
/ 09 июня 2011

Вы можете легко сделать последний уровень другим цветом (или формой), добавив еще один фактор в ваш фрейм данных, который имеет два уровня: тот, который вы хотите, и все остальное. Например:

dat <- data.frame(item=rep(letters[1:3],times=3),outcome=runif(9))
dat$grp <- rep(c("grp1","grp1","grp2"),times=3)
ggplot(dat, aes(item, outcome))+
   stat_summary(fun.y=mean,aes(colour=grp), geom="point",size=3)

Затем вы устанавливаете эстетику цвета в aes, а не глобально. Если у вас есть эта дополнительная переменная, вы также можете использовать ее (редактировать, чтобы отразить комментарий @Ben Bolker):

ggplot(dat, aes(item, outcome)) + 
    stat_summary(fun.y=mean, geom="point",size=3) + 
    facet_grid(.~grp,scale="free_x",space="free")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...