2013-08-23 8 views
29

Ho il seguente script, che suppone per creare un grafico con due legende di colonna.Creazione di legenda di più colonne in 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) 

Ma crea questa figura invece enter image description here

Come posso fare in modo corretto?

risposta

60

è necessario assegnare il guida per l'estetica corretto e hai usato riempimento:

guides(fill=guide_legend(ncol=2)) 

e si dovrebbe prendere cura di avviso con geom_bar

+0

+1 per risposta succinta. Qualche suggerimento, come indirizzare l'avviso? – neversaint

Problemi correlati