ich möchte folgendes für Datensatz CO2 (package="datasets") plotten:
Es sollen jeweils für die Pflanzen in Quebec und Mississippi (No 1-3) die non-chilled bzw. chilled-Varianten der jeweiligen Nummer in 1 Panel anstatt in 2 Panels dargestellt werden. Das soll den Vergleich zwischen der CO2-Aufnahme von der gekühlten und ungekühlten Version derselben Pflanze ermöglichen.
Ich habe derzeit folgenden Code - die Grafiken sind am Ende eingefügt:
Code: Alles auswählen
library("lattice")
library("ggplot2")
data("CO2", package = "datasets")
CO = CO2
str(CO)
levels(CO$Plant) = c("Mn1","Mn2","Mn3","Mc1","Mc2","Mc3",
"Qn1","Qn2","Qn3","Qc1","Qc2","Qc3")
xyplot(uptake ~ conc | Plant, groups = Treatment, data = CO,
auto.key = list(space="top", columns = 2,cex = 0.8, font = 2),
xlab = list(label = "CO2-Konzentration in mL/L",
cex = 0.8, font = 2),
ylab = list(label = "CO2-Aufnahme in umol/m²",
cex = 0.8, font = 2),
scales = list(x = list(cex = 0.7, at = c(200,500,800)), # x-Achse
y = list(cex = 0.7)), # y-Achse
par.strip.text = list(col="white",cex = 0.8), # Panel-Schrift
par.settings =
list(superpose.symbol = list(pch = c(3,1), col = c(2,4)), # pch-Typ & -Farbe
strip.background = list(col="black"))) # Hintergrund Panelbeschriftung
ggplot(data = CO, aes(x = conc, y = uptake, colour = Treatment)) +
geom_point(aes(shape = Treatment, color = Treatment)) +
facet_grid(~Plant) +
xlab("CO2-Konzentration in mL/L") +
ylab("CO2-Aufnahme in umol/m²") +
theme(axis.title.x =
element_text(face = "bold", margin=margin(15,0,0,0)),
axis.title.y =
element_text(face = "bold", margin=margin(0,15,0,0)),
legend.title = element_blank()) + # kein Legendentitel
scale_colour_manual(values = c("nonchilled" = 2,"chilled" = 4)) + # Punktfarbe
scale_shape_manual(values = c(1,3)) # Punktsymbol
Die Panel-Überschrift soll dann jeweils nur den Pflanzennamen ohne c bzw. n enthalten (also bspw. M1, usw...)
Bei der ggplot-Version möchte ich außerdem noch die y-Achsen-Ansicht stauchen, sodass die Werte nicht so weit auseinandergezogen sind.
(Die Anzahl der Ticks auf der x-Achse müssen wahrscheinlich ebenso noch angepasst werden).
Weiß jemand, wie ich das erreichen kann?
Danke euch!
LG, Martina