Chciałbym wykreślić działki z punktami ggplot2. oś X jest ciągła, oś Y to lista zwierząt. Dwie zmienne są wykreślane i fasetowane zgodnie z zachowaniem żywieniowym.ggplot2: Odwracanie kolejnoś ci dyskretnej zmiennej znakowej dla każdego aspektu na wolnej skali?
Oś Y jest w skali wolnej, ponieważ każde zwierzę występuje tylko w jednej kategorii zachowania żywieniowego.
library(ggplot2)
# First clean up the data set:
msleep.noNA <- msleep[!is.na(msleep$vore),]
msleep.noNA.red <- msleep.noNA[c(1,3,6,7)]
msleep.noNA.red <- msleep.noNA.red[!is.na(msleep.noNA.red[4]),]
msleep.noNA.red <- melt(msleep.noNA.red)
pg <- ggplot(msleep.noNA.red, aes(value, name, colour = variable)) +
geom_point() +
facet_grid(vore ~ ., scale="free_y", space = "free_y")
pg
# Try to reverse order of the y axis:
pg + scale_y_reverse()
# Not possible because its a factor, but it's not classified as such:
class(msleep.noNA.red$name)
Czy ktoś ma jakieś wskazówki, w jaki sposób mogę sporządzić listę nazw zwierząt w kolejności alfabetycznej na każdej działce?
można wkleić dane (najlepiej przy użyciu 'dput') tak, że mogliśmy pracować na nim, aby odtworzyć swój kod? – Arun
Witaj Arun, dzięki za komentarz. zestaw danych msleep jest dostępny jako część ggplot2. Wszystkie polecenia powinny działać na platformie z zainstalowanym ggplot2. –
Możesz konwertować elementy na współczynnik za pomocą 'as.factor', więc' msleep.noNA.red $ name <- as.factor (msleep.noNA.red $ name) 'skonwertuje je jako czynnik i możesz następnie pracować z nim tak, jak z każdym innym czynnikiem. To pomaga? –