Ciągle napotykam ten problem w ggplot2, może ktoś może mi pomóc.Zmieniaj kolejność legend bez zmiany kolejności punktów na działce.
Mam działkę, w której kolejność zmiennych w legendzie jest odwrotna do tego, w jaki sposób są wyświetlane na wykresie.
Na przykład:
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()
sporządza:
więc punkty są wyświetlane na powierzchni, jak Cat2 = Z, Y, wówczas X (czarne romby, niebieski trójkąt, czerwony koło), ale w legendzie są wyświetlane jako Cat2 = X, Y, a następnie Z (czerwone kółko, niebieski trójkąt, czarny diament).
Jak zmienić kolejność legendy bez zmiany punktów na wykresie? Zmiana kolejności czynnika powoduje przeciwny problem (punkty na wykresie są odwrócone).
Dzięki!
Na razie prawdopodobnie nie ma łatwego sposobu. Następna wersja może jednak mieć opcję odwrócenia kolejności legendy. – kohske
Hmm, to śmierdzi. Dobrze wiedzieć. Dzięki za heads up! – jslefche
Ustaw skalę 'breaks'. – hadley