2014-03-13 3 views
0


ggplot2 스택 막대 그림을 생성 중입니다. 모든 것이 여기에, 좋은 것은 내 코드ggplot2에서 하나 이상의 막대에 대한 일반적인 X 축 레이블

> ab<-read.table("ab.txt", header=TRUE, sep="\t") 
> head(ab) 
    id P1 P2 P3 
1 A 1 6 5 
2 B 6 5 3 
3 C 8 5 3 
4 D 7 1 2 
5 E 8 2 1 
> library("reshape2") 
> ab1<-melt(ab) 
Using id as id variables 
> head(ab1) 
    id variable value 
1 A  P1  1 
2 B  P1  6 
3 C  P1  8 
4 D  P1  7 
5 E  P1  8 
6 A  P2  6 
> library("ggplot2") 
> ab1$id <- factor(ab1$id, levels=ab1$id) 
> p<-ggplot(data=ab1, aes(x=id, y=value, fill=variable))+geom_bar(stat="identity", width=1)+scale_y_continuous(expand = c(0,0)) <br/> 
> p 

plot
이다 그러나 나는 처음 세 줄의 일반적인 라벨처럼, 하나 이상의 줄에 대해 같은 x 축 레이블이 좋아합니다. 이 같은 뭔가 : 여기

plot2
, 다음 세 개의 막대 세 바 제 '쌀'초 공통 라벨 '코코넛'. 가능한 경우 첫 번째 및 다음 세 개의 막대를 구별합니다.

facet_grid를 사용하여이 작업을 수행하는 데 관심이 없습니다. 사전에
감사
라 메쉬

+0

이 게시물이 http://stackoverflow.com/questions/18165863/ggplot2-labels-of-grouping-values-below-the-plot – user20650

답변

0

그냥 단순히 식별자의 이름을 다시. (첫 번째 이미지 참조). 또는 theme()을 사용하여 축 크기를 변경할 수 있습니다. r-changing font size by Drew Steen

+0

아니오! 나는 공통의 축을 원하는 도움이 될 것입니다 하나 이상의 막대 레이블. 두 번째 줄거리에서 코코넛은 처음 세 줄의 일반적인 레이블입니다. – ramesh

+0

그 경우 gpglot2의 매뉴얼 페이지를 보시고 "aes_group_order()" "로 바를 그룹화하십시오." –

+0

감사합니다! 예, 막대를 그룹화 할 수있었습니다. 여전히 일반적인 X 축 레이블을 인쇄하는 것은 계속 악몽입니다. – ramesh

0

이 부분을 참조하십시오.

p<-ggplot(data=ab1, aes(x=id, y=value, fill=variable))+ 
    geom_bar(stat="identity", width=1)+ 
    scale_x_discrete(labels=c("","Coconut","","Rice",""))+ 
    theme(axis.text.x=element_text(angle=45,size=14,face="bold",hjust=1, vjust=1)) 
p 
+0

일부 사용자가 여기에 제안 했으므로 고맙습니다. 이것이 내가 원했던 것입니다. http://stackoverflow.com/questions/18165863/ggplot2-labels-of-grouping-values - 아래 - 음모 – ramesh