Ich möchte ein facettiertes ggplot2 Dot Plot plotten. x-Achse ist kontinuierlich, y-Achse ist eine Liste von Tieren. Zwei Variablen sind geplottet und facettiert nach Essverhalten.ggplot2: Umkehren der Reihenfolge einer diskreten Zeichenvariablen für jede Facette auf einer freien Skala?
Die y-Achse ist frei skalierbar, da jedes Tier nur in einer Essverhaltenskategorie erscheint.
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)
Hat jemand einige Hinweise, wie ich die Liste der Tiernamen alphabetisch in jedem Teilstück machen kann?
könnten Sie Ihre Daten einfügen (vorzugsweise 'dput' verwendet wird), so dass wir arbeiten konnten darauf deinen Code zu reproduzieren? – Arun
Hallo Arun, Danke für deinen Kommentar. Der Msleep-Datensatz ist als Teil von ggplot2 verfügbar. Alle Befehle sollten auf einer Plattform funktionieren, auf der ggplot2 installiert ist. –
Sie können Dinge mit 'as.factor' in einen Faktor umwandeln, also' msleep.noNA.red $ name <- as.factor (msleep.noNA.red $ name) 'wird es als Faktor konvertieren und Sie können dann arbeiten damit, wie Sie jeden anderen Faktor würden. Hilft das? –