86

I have the following script, which suppose to create a plot with two column legend.

 #!/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)

But it creates this figure instead enter image description here

How can I do it correctly?

0

1 Answer 1

188

you must assign the guide to the correct aesthetic and you used fill:

guides(fill=guide_legend(ncol=2))

And you should take care of the warning with geom_bar

Sign up to request clarification or add additional context in comments.

1 Comment

+1 for succinct answer. Any suggestion, how to address the warning?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.