r boxplot gekippt labels der x-Achse
wie kann Sie drehen die labels der x-Achse für die boxplots in r? Ich weiß, welcher code zu verwenden, aber ich kann es nicht anwenden:
text(**????**, par("usr")[3] - 0.25, srt = 45, adj = 1, labels = labels, xpd = TRUE)
Welche variable geht, wo ich die Fragezeichen? Ich habe dieses boxplot:
mithilfe dieses Codes:
soil=read.csv("soil_temp_boxplot.csv", header=TRUE, sep=";")
tiff("soil_boxplot.tiff")
par(mar=c(5.5,3.5,0.5,0.5))
labels<-paste(c("RB-GL830-[16]-10","RB-GL830-[16]-30", "SB-GL834-[11]-10","SB-GL834-[11]-30", "RB-GL843-[17]-10","RB-GL843-[17]-30","SB-GL864-[12]-10","SB-GL864-[12]-30","SB-GL989-[10]-30", "RB-F844-[18]-10", "RB-F844-[18]-30", "SBB-F-864-[14]-10","SB-F991-[13]-10", "SB-F991-[13]-30"))
boxplot(soil$rb.gl.10.830.16, soil$rb.gl.30.830.16, soil$sb.gl.10.834.11, soil$sb.gl.30.834.11, soil$rb.gl.10.843.17, soil$rb.gl.30.843.17, soil$sb.gl.10.864.12, soil$sb.gl.30.864.12, soil$sb.gl.30.989.10, soil$rb.f.10.844.18, soil$rb.f.30.844.18, soil$sbb.f.10.864.14, soil$sb.f.10.991.13, soil$sb.f.30.991.13, yaxt="n", col=c("darkolivegreen1","darkolivegreen4","darkolivegreen1","darkolivegreen4","darkolivegreen1","darkolivegreen4","darkolivegreen1","darkolivegreen4","darkolivegreen1","burlywood2","burlywood4","burlywood2","burlywood2", "burlywood4"))
axis(1, labels = TRUE)
axis(2, c(0, 8, c(1, 2, 3, 4, 5,6,7)), las=1)
text(labels, par("usr")[3] - 0.25, srt = 45, adj = 1, labels = labels, xpd = TRUE)
mtext(2, text="Soil Temperature [°C]", line=2.2)
mtext(1, text="Location", line=4.5)
dev.off()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alternative nach Ihrer ursprünglichen
text
Ausdruck:Warum
x = seq_along(labels)
für label-Positionen? Diex
imtext
ist ein Vektor, der die Koordinaten, wo die Etiketten. Wenn man sich?boxplot
finden Sie, dass dieat
argument ist ein "numerischer Vektor geben die Orte, an denen die boxplots gezeichnet werden sollen [...]; default ist 1:n, wobei n die Anzahl der Boxen." Weil wir noch nicht angegeben, dieat
argument in derboxplot
aufrufen, ist der Standardwert "1:n "- Positionen" verwendet. Die Anzahl der Boxen ist natürlich die Anzahl der Ebenen in Ihrem erklärenden Variablen, die @Josh O ' Brien in seiner Antwort. Zeigen Sie eine alternative, die ich verwendet, Ihre individuelle label-Vektor statt (die müssen natürlich die gleiche Länge haben wie die Anzahl der Faktor-Stufen).seq_along
erzeugt eine regelmäßige Abfolge von 1 bislength
des Arguments, das entspricht dem "Standardwert" 1:n"at
Positionen.Einen Seite-Hinweis: Ihre Daten scheinen sich in einer "wide" - format. In vielen Fällen, in R, es ist sinnvoller, die Daten in einem 'long' format. In der
plot
Funktion, Sie müssen dann nur angeben, Ihre x-Variablen (z.B. Ort) und die y-variable (z.B. Boden-temp), statt der Angabe von Daten für jeden einzelnen level von x an.y = par("usr")[3] - 1
funktioniert nicht gut in den verschiedenen Skalen. Es ist viel besser zu bedieneny = par("usr")[3] - (par("usr")[4] - par("usr")[3])/30
, wo die30
ist das Verhältnis der Höhe zu sein, als Raum zwischen den Etiketten und Achse. Auf die gleiche Weise funktioniert in jedem Maßstab 🙂Blick auf die
staxlab
- Funktion, in dem plotrix Paket, macht es diese (und eine alternative) ziemlich straight forward.