2013-08-01 2 views
1

박스 플롯을 만들기 위해 R ggplot2 패키지를 사용하려고합니다.ggplot2의 범례 키로 솔리드 사각형을 사용하는 방법 geom_boxplot

그러나 나는이 같은 전설을 얻을 수 있습니다. 어쨌든 중앙선이있는 그 작은 상자를 사용하는 대신 그 전설의 열쇠를 단색의 사각형으로 바꿀 수 있습니까?

내가 사용하는 코드는 다음과 같습니다 여기

print(ggplot(mydata,aes(x=factor(sp),fill=factor(CommunityType),y=Abundance*100))+geom_boxplot(show_guide=FALSE) 
     +theme(axis.text = element_text(colour = "black",size=10)) 
     +scale_y_continuous(" RA (%) ")+scale_x_discrete(limits=taxalist[1:5]," ") 
     +scale_fill_manual(name = "MY type", values = mycol[1:nmc]) 
     +theme_bw() + guides(fill=guide_legend(title=NULL))+theme(legend.position=c(1,1),legend.justification=c(1,1)) 
     +theme(legend.key = element_blank(),legend.key.size = unit(1.5, "lines")) 
     +theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank()) ) 

미안 수없는 이미지가 내 질문을 설명 할 수 있습니다.

답변

3

여기에 전설은 단순한 사각형으로 표시되어 있습니다. Winston Change 사용 here을 본 해킹 변형을 사용합니다. (필자는 다이아몬드의 데이터 집합을 사용하고 있습니다.)

enter image description here

아이디어는 geom_points 음모 (누구의 전설 당신이 제어 할 수 있습니다, 그리고 전부 상자 그림의 전설을 억제하는)

library(ggplot2) 
p <- ggplot() + geom_point(data=diamonds, aes(x=cut, y=mean(depth), color=clarity), shape=15, size=5) 
p <- p + guides(color=guide_legend(title=NULL)) 
p <- p + theme(legend.key = element_blank()) 
p <- p + geom_boxplot(data=diamonds,aes(x=cut,fill=factor(clarity),y=depth)) + guides(fill=FALSE) 
p 

또한 체크 아웃 해들리의입니다 Legend-Attributes page on github

+0

감사합니다. @ 램 Narasimhan! 귀하의 코드를 시도했지만 항상 오류보고 : ggplot2는 클래스 uneval의 데이터를 처리하는 방법을 모릅니다. 그 문제를 해결하는 방법을 알고 있습니까? –

+0

오류 메시지가 나타나면 명시 적으로'data ='인수가 있는지 확인하십시오. 이 질문은 예를 들어보십시오 : http://stackoverflow.com/questions/16486819/how-to-deal-with-data-of-class-uneval-in-ggplot 위의 코드는 나를 위해 작동합니다. –

+0

안녕하세요 @ 램 Narasimhan. 한 가지 문제가 있습니다. 업로드 한 줄거리에서 첫 번째 열에 예상치 못한 작은 사각형이 있다는 것을 알 수 있습니다. 나는 모든 다섯 커팅에서 같은 사각형이지만 다른 색으로 보입니다. 나는 지금 같은 문제가 있었다. 어떻게 그걸 없앨 수 있니? 감사! –