Я пытаюсь наложить два барных сюжета друг на друга, а не рядом. Данные взяты из одного набора данных. Я хочу «Блок» на оси х и «Старт» и «Конец» в качестве накладываемых графиков.Наложение двух барных участков с geom_bar()
Block Start End
1 P1L 76.80 0.0
2 P1S 68.87 4.4
3 P2L 74.00 0.0
4 P2S 74.28 3.9
5 P3L 82.22 7.7
6 P3S 80.82 17.9
Мой сценарий
ggplot(data=NULL,aes(x=Block))+
geom_bar(data=my_data$Start,stat="identity",position ="identity",alpha=.3,fill='lightblue',color='lightblue4')+
geom_bar(data=my_data$End,stat="identity",position ="identity",alpha=.8,fill='pink',color='red')
Я получаю ошибку: ggplot2 не знает, как обращаться с данными класса числовых
Я также попытался
ggplot(my_data,aes(x=Block,y=Start))+
geom_bar(data=my_data$End, stat="identity",position="identity",...)
Кто-нибудь знает, как я могу это сделать? Спасибо.
Edit:
Как получить DODGE накладывая бруски?
Я редактирую этот пост, потому что мой следующий вопрос имеет значение, так как это противоположная проблема моего исходного сообщения.
@ P.merkle
Я должен был изменить свой участок в четыре бара, показывающие средние значения всех блоков обозначены L и S. L стенд для литорали и S для сублиторали. Они были выставлены для двух процедур: нормального и уменьшенного.
Я вычислил средства и их стандартное отклонение. Мне нужны четыре бара с соответствующими барами ошибок: Нормальный/Прибрежный, Сокращенный/Прибрежный, Нормальный/Сублиторальный, Уменьшенный/Сублиторальный.
Проблема в том, когда я закладываю это, как литорали, так и сублиторальные бары накладываются друг на друга! Так что теперь я хочу, чтобы они не для перекрытия! Как я могу это сделать? Я пробовал все виды position = 'dodge'
и position = position_dodge(newdata$Force)
, без везения ...
Мои newdata
содержат следующую информацию:
Zonation Force N mean sd se 1 Litoral Normal 6 0.000000 0.000000 0.000000 2 Litoral Redusert 6 5.873333 3.562868 1.454535 3 Sublitoral Normal 6 7.280000 2.898903 1.183472 4 Sublitoral Redusert 6 21.461667 4.153535 1.695674
Мой сценарий заключается в следующем:
ggplot(data=cdata,aes(x=newdata$Force,y=newdata$mean))+
geom_bar(stat="identity",position ="dodge",
alpha=.4,fill='red', color='lightblue4',width = .6)+
geom_errorbar(aes(ymin=newdata$mean-sd,ymax=newdata$mean+sd),
width=.2, position=position_dodge(.9))
Результатом является К сожалению, this
Что касается ошибок, то это clea там четыре бара, но они перекрываются. Пожалуйста, как я могу это решить?
Ха-ха, так легко! Спасибо огромное! – metazoa
Если вам нужна легенда рядом с вашим сюжетом, взгляните на вариант 2 моего отредактированного ответа. –
Ооо, спасибо! – metazoa