두 막대 막대를 서로 겹치지 않고 겹치려고합니다. 데이터가 동일한 데이터 세트에 있습니다. x 축에 '블록'을 표시하고 '시작'및 '끝'을 막대 그래프로 겹쳐서 표시합니다. 나는 또한geom_bar()로 두 막대 막대를 오버레이합니다.
ggplot(my_data,aes(x=Block,y=Start))+
geom_bar(data=my_data$End, stat="identity",position="identity",...)
을 시도했습니다 ggplot2이
숫자 클래스의 데이터를 처리하는 방법을 알고하지 않습니다
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')
내가 오류를 얻을 수있다 누구나 내가 그 일을 어떻게 할 수 있는지 알고 있니? 고맙습니다.
편집 :
피할 오버레이 바를 얻는 방법?
내 원래 게시물의 반대 문제이므로 내 다음 질문과 관련이 있기 때문에이 게시물을 편집합니다.
는 P.merkle
@ 나는 해안에 대한 모든 블록 표시 L 및 S. L 개의 스탠드의 평균 값을 보여주는 4 개 개의 막대로 내 플롯을 변경했고, Sublittoral에 대한 S. 그들은 두 가지 치료법으로 노출되었습니다 : 정상 및 감소.
평균과 표준 편차를 계산했습니다. 각각의 오차 막대가있는 막대가 네 개 필요합니다. 보통/문양, 축소/문양, 보통/하위 문, 축소/하위 문.
문제는 내가 음모를 꾸미면 양쪽 음양 막대와 두 개의 하위 음절 막대가 서로 겹쳐집니다. 그래서 지금 나는 가 아니라가 겹칠 것을 원합니다! 어떻게 할 수 있습니까?
이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))
결과가 있습니다 :
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
내 스크립트가 이것이다 : 나는
가newdata
이 정보를 포함하는 내 ... 행운을하지 않고,
position = 'dodge'
및
position = position_dodge(newdata$Force)
모든 종류의 시도했습니다 불행히도
this
오차 막대의 시점에서, 거기에 4 개의 막대가 있지만 그것들은 겹칩니다. 제발, 어떻게 해결할 수 있습니까?
하하, 너무 쉽게! 정말 고맙습니다! – metazoa
플롯 옆에 범례가 필요한 경우 편집 된 답변의 변형 2를 살펴보십시오. –
오우, 고마워요! – metazoa