I keep running into this problem in ggplot2, maybe someone can help me.
I have a graph where the order of the variables in the legend is in the reverse order as they appear on the graph.
For example:
df=data.frame( mean=runif(9,2,3), Cat1=rep(c("A","B","C"),3), Cat2=rep(c("X","Y","Z"),each=3)) dodge=position_dodge(width=1) ggplot(df,aes(x=Cat1,y=mean,color=Cat2))+ geom_point(aes(shape=Cat2),size=4,position=dodge)+ scale_color_manual(values=c("red","blue","black"))+ scale_shape_manual(values=c(16:19))+ coord_flip()
gives:

Thus, the points are displayed on the graph as Cat2 = Z, Y, then X (black diamonds, blue triangle, red circle), but in the legend they are displayed as Cat2 = X, Y, then Z (red circle, blue triangle, black diamond )
How can I change the order of a legend without changing the points on the chart? Reordering the factor creates the opposite task (points on the graph change to the opposite).
Thanks!
r ggplot2 legend
jslefche
source share