Как я могу уклониться от позиции geom_point в ggplot2?


19

Я использую ggplot2 в R для создания графиков, подобных следующим:

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

Панели ошибок перекрываются друг с другом, которые выглядят очень грязно. Как я могу разделить панели ошибок для разных индексов? Я использовал position = "dodge", но, похоже, он не работает. Вот основная часть моего кода:

plot =  ggplot(data,aes(x=ntrunc,y=beta_best,group=ntrunc,colour=INDEX))
       +geom_point(aes(shape=detectable),na.rm=TRUE,position="dodge") 
        +geom_errorbar(aes(x=ntrunc,ymax=beta_high,ymin=beta_low),na.rm=TRUE,position="dodge")

1
Вы пробовали разные значения "уловки"? Например , что - то вроде: position = position_dodge(width = 0.90). Смотрите также этот пост .
COOLSerdash

Спасибо за ваш пример. Тем не менее, я только что попробовал разные значения ширины, и он все еще не работает.
YCC

2
Трудно найти решения без оригинального набора данных. Но у меня один вопрос: почему ваши и «группы» совпадают? Что такое ? Не должно быть ? xntruncgroupINDEX
COOLSerdash

Теперь он работает после того, как я изменил group = "INDEX". Я думаю, что я неправильно понял значение слова «группа». Спасибо @COOLSerdash
YCC

Ответы:


12

Группа должна = INDEX вместо ntrunc в АЭ.

plot =  ggplot(data, aes(x=ntrunc, y=beta_best, group=INDEX, colour=INDEX)) +
   geom_point(aes(shape=detectable), na.rm=TRUE, position="dodge") +
   geom_errorbar(aes(x=ntrunc, ymax=beta_high, ymin=beta_low), na.rm=TRUE, position="dodge")

Сюжет выглядит лучше.

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


7
Это не сработало для меня, пока я не использовалgeom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
Nova

Было бы здорово получить пример данных здесь, потому что я не могу воспроизвести ваш результат.
Лео Леопольд Герц 준영

1
@ Нова, я думаю, что ответ был сломан, когда ggplot2переходил от версии 0.9.Xк 1.Xили2.X
Ричард Эриксон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.