Я продолжаю сталкиваться с этой проблемой в ggplot2, возможно, кто-то может мне помочь.
У меня есть график, в котором порядок переменных в легенде находится в порядке, обратном порядку их отображения на графике.
Например:
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()
производит:
Таким образом, точки отображаются на графике как Cat2 = Z, Y, затем X (черные ромбы, синий треугольник, красный круг), но в легенде они отображаются как Cat2 = X, Y, затем Z (красный круг, синий треугольник, черный бриллиант).
Как я могу изменить порядок легенды без смещения точек на графике? Изменение порядка факторов создает противоположную проблему (точки на графике меняются местами).
Спасибо!