My own legend on qplot
ggplot2, legend, r
Solution
Is it something like this you're after? First, draw the legend, then remove the coloured key of the legend. `fill = type` draws the legend. `scale_fill_manual` ensures the bars have the same colour, and inserts the desired labels in the legend. `guides` removes the coloured keys, or rather it colours the keys white, leaving just the legend labels. Probably, `fill = NA` in the call to `guides` would work too. EDIT: updated code for ggplot2 version 2
library(ggplot2)
temp = read.table(text = "
type name value
A john 47.6
B john 55.6
C john 57.7
A amy 13.15
B amy 23.1
C amy 24.9
A lily 14.0
B lily 18.1
C lily 21.9
A sam 38.8
B sam 44.8
C sam 45.9
A frank 63.6
B frank 64.4
C frank 64.7
A xia 52.8
B xia 54.1
C xia 56.4
A yan 53.8
B yan 56.1
C yan 58.6", header = TRUE, sep = "")
qplot(type, value, geom="col", fill=type, data=temp, group=name, facets= .~name) +
scale_fill_manual(values = rep("salmon",3), labels = c("A - atype", "B - btype", "C - ctype")) +
guides(fill = guide_legend(override.aes = list(fill = "white"))) +
theme_bw() +
theme(axis.title.y=element_text(size=16,angle=90),
axis.title.x=element_text(size=16,angle=0),
axis.text.x=element_text(size=10),
axis.text.y=element_text(size=14),
strip.background = element_rect(colour = 'steelblue', fill = 'white', size = 2),
legend.title=element_blank(),
legend.position="top",
legend.key = element_rect(colour = NA))
Problem
Could someone help me to add `A-atype B-btype C-ctype` ONLY as a legend to the below qplot graph. My legend should be on the top of the graph and also it should be horizontal. Please also see below for the data and the qplot code I am using for generating the graph. Data: ``` type name value A john 47.6 B john 55.6 C john 57.7 A amy 13.15 B amy 23.1 C amy 24.9 A lily 14.0 B lily 18.1 C lily 21.9 A sam 38.8 B sam 44.8 C sam 45.9 A frank 63.6 B frank 64.4 C frank 64.7 A xia 52.8 B xia 54.1 C xia 56.4 A yan 53.8 B yan 56.1 C yan 58.6 ``` Code: ``` qplot(type, value, geom="bar", fill=c(""),data=temp, group=name, facets= .~name,stat="identity") + theme_bw() + opts(axis.title.y=theme_text(size=16,angle=90),axis.title.x=theme_text(size=16,angle=0)) + opts(axis.text.x=theme_text(size=10)) + opts(axis.text.y=theme_text(size=14)) + opts(strip.background = theme_rect(colour = 'steelblue', fill = 'white', size = 2)) + opts(legend.title=theme_blank()) + opts(legend.position="top") ```