2013-08-23 9 views
29

私は以下のスクリプトを持っています。これは とし、2つの列の凡例を持つプロットを作成します。ggplotで複数列の凡例を作成

#!/usr/bin/Rscript 
library(ggplot2) 
library(plyr) 
library(reshape2) 
library(scales) 

file <- "http://dpaste.com/1354089/plain/"; 
dat <-read.table(file,header=TRUE); 
datm <- melt(dat) 

# Plot them 
ggplot(datm,aes(x = variable,y = value,fill = Term)) + 
geom_bar(position = "fill") + 
scale_y_continuous(labels = percent_format())+ 
theme(legend.direction ="vertical",legend.position = "bottom")+ 

guides(color=guide_legend(ncol=2))+ # this doesn't seem to work 

ggsave(file="~/Desktop/test.pdf",width=11,height=11) 

しかし、それは私がそれを正しく行うことができますどのように代わり enter image description here

この図を作成しますか?

答えて

60

あなたは正しい審美的にガイドを割り当てる必要があります。また、塗りつぶしに使用:

guides(fill=guide_legend(ncol=2)) 

をそして、あなたは簡潔な答えをgeom_bar

+0

+1と警告の世話をする必要があります。どのような提案、警告に対処する方法? – neversaint

関連する問題