Ribbon mit ggplot2
Verfasst: Do Mär 26, 2020 12:11 pm
Hallo Leute,
ich versuche mich mal wieder an ggplot2 und hoffe, dass ich was einfaches übersehe. Für eine bestimmte Messmethode sind Normwerte vom Gerätehersteller gegeben, und ich möchte zu folgenden Normwerten später Messwerte ergänzen:
Wir sehen also einen Mittelwert und ein 95%-KI. Das würde sich anbieten, als grau hinterlegtes Band dargestellt zu werden, und wenn ich zu fixen x-Werten die passenden y-Werte hätte, könnte ich das ganz leicht mit ggplot2::geom_ribbon zeichnen. Der Gerätehersteller hat aber zu fixen y-Werten die x-Werte angegeben und das passt nach meinem bisherigen Verstehen nicht zur Syntax von geom_ribbon. Das braucht wohl zu jedem x-Wert 2 y-Werte. Ich könnte jetzt entweder ganz aufwändig die Werte interpolieren oder ich könnte mit coord_flip arbeiten. Das bringt zwar das erwünschte Ergebnis, ist aber hässlich, bei der eigentlichen Darstellung ständig x und y vertauschen zu müssen. Habe ich da was übersehen, oder ist ggplot2 so unflexibel?
Dazu: Ist Euch auch aufgefallen, dass die mittlere Linie nicht überall gleich breit ist? Was kann man da machen?
LG,
Bernhard
ich versuche mich mal wieder an ggplot2 und hoffe, dass ich was einfaches übersehe. Für eine bestimmte Messmethode sind Normwerte vom Gerätehersteller gegeben, und ich möchte zu folgenden Normwerten später Messwerte ergänzen:
Code: Alles auswählen
library(ggplot2)
library(ggthemes)
##
ref <- cbind(y = seq(0,50,5),
read.table(header=TRUE, dec=",",
text="low MW high
-32,43 -4,98 10,25
-10,80 11,25 25,10
10,15 28,35 41,05
29,98 45,13 56,65
46,68 61,23 72,00
59,25 74,08 84,90
69,88 84,15 93,80
78,03 91,45 100,55
85,80 96,90 107,15
92,98 102,28 115,88
96,33 107,98 125,05"))
pl <- ggplot(ref) +
geom_line(aes(x=low, y=y), color="grey") +
geom_line(aes(x=high, y=y), color="grey") +
geom_line(aes(x=MW, y=y), color="darkgrey", lwd = 1) +
theme_bw()
print(pl)
Dazu: Ist Euch auch aufgefallen, dass die mittlere Linie nicht überall gleich breit ist? Was kann man da machen?
LG,
Bernhard