Ich muss Daten mit sehr unterschiedlichen Bereichswerten darstellen. Ich verwende das Facetten-Design von ggplot2 mit der Option facet_grid(variable ~ ., scales = "free")
. Allerdings möchte ich die Werte der Brüche auf der y-Achse so festlegen, dass für alle Variablen die Brüche c(0, max(variable)/2, max(variable))
sind. Ich habe versucht, scale_y_continuous
, aber es hat nicht funktioniert.Wie definiert man Y-Achsenbrüche in einem facettierten Diagramm mit ggplot2?
Reproduzierbare Beispiel:
v1 <- sample(rnorm(100, 10, 1), 30)
v2 <- sample(rnorm(100, 20, 2), 30)
v3 <- sample(rnorm(100, 50, 5), 30)
fac1 <- factor(rep(rep(c("f1", "f2", "f3"), each = 10), 3))
library(reshape2)
library(ggplot2)
df1 <- melt(data.frame(fac1, v1, v2, v3))
ggplot(df1, aes(fac1, value, group = variable)) +
geom_point() +
facet_grid(variable ~ ., scales = "free") +
theme_bw()
Die ggplot Ausgabe [Geben Sie Xlim und ylim separat für jede Facette] (https://github.com/hadley/ggplot2/issues/187) legt nahe, dass es nicht möglich ist. Siehe auch @ hadleys Kommentar vom 24. Februar 2014: "Das hört sich nach einem großartigen Feature an, aber leider haben wir derzeit nicht die Entwicklungsbandbreite, um es zu unterstützen". – Henrik
Ähnliche SO-Posts: [Wie stellen Sie unterschiedliche Skalierungsgrenzen für verschiedene Facetten ein?] (Http://stackoverflow.com/questions/4276218/how-do-you-set-different-scale-limits-for-different-facts)) und [Ist es noch möglich, verschiedene Achsenbrüche/Grenzen für einzelne Facetten in ggplot mit freiem Maßstab zu haben?] (http://stackoverflow.com/questions/18819333/is-it-yet-possible-to-have-different) -axis-breaks-limits-for-individual-facetten) – Henrik
Danke. Ich werde versuchen, eine andere Lösung zu finden, vielleicht mit grid.arrange? – user34771