gpt4 book ai didi

r boxplot 倾斜标签 x 轴

转载 作者:行者123 更新时间:2023-12-04 05:52:22 24 4
gpt4 key购买 nike

如何在 r 中为 boxplot 旋转 x 轴的标签?我知道要使用哪个代码,但我无法应用它:

text(**????**, par("usr")[3] - 0.25, srt = 45, adj = 1, labels = labels, xpd = TRUE)

我有问号的地方是什么变量?我创建了这个箱线图:

enter image description here

使用此代码:
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()

最佳答案

替代原版 text表达:

par(mar=c(6, 4.1, 4.1, 2.1))

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"))

boxplot(count ~ spray, data = InsectSprays,
col = "lightgray", xaxt = "n", xlab = "")

# x axis with ticks but without labels
axis(1, labels = FALSE)

# Plot x labs at default x position
text(x = seq_along(labels), y = par("usr")[3] - 1, srt = 45, adj = 1,
labels = labels, xpd = TRUE)

为什么使用 x = seq_along(labels)对于标签位置? xtext是放置标签的坐标向量。如果你看 ?boxplot ,你发现 at参数是一个“数字向量,给出应绘制箱线图的位置 [...];默认为 1:n,其中 n 是箱的数量。”因为我们还没有指定 at boxplot 中的参数调用,将使用默认的“1:n 位置”。盒子的数量当然是你的解释变量的级别数,@Josh O'Brien 在他的回答中使用了它。为了向您展示替代方案,我使用了您自定义的标签向量(当然,其长度必须与因子级别数相同)。 seq_along生成从 1 到 length 的正则序列的参数,对应于“默认为 1:n” at职位。

旁注:您的数据似乎采用“宽”格式。在 R 中的许多情况下,使用“长”格式的数据更方便。在 plot函数,然后您只需要指定 x 变量(例如位置)和 y 变量(例如土壤温度),而不是为 x 的每个级别指定数据。
enter image description here

关于r boxplot 倾斜标签 x 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18670795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com