首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如何用数字x轴来绘制方格图,以确定间距(而不是to图)。

R:如何用数字x轴来绘制方格图,以确定间距(而不是to图)。
EN

Stack Overflow用户
提问于 2022-05-09 07:54:27
回答 1查看 93关注 0票数 1

我想用R的常规/boxplot函数来绘制一个盒子图,而不是ggplot。Y轴和X轴是Y轴上连续的数值变量(x轴6力: 1.0,1.3,1.6,2.0,2.5,3.1N)。

我想把它画成图,在x轴上用量化的间距,然后再把回归线加到图中。找不到常规/boxplot函数的任何内容。

目前为止的代码:

代码语言:javascript
复制
kraft_ou <- data.frame(VR1_100$ou_kraft, 
                       VR1_125$ou_kraft, 
                       VR1_160$ou_kraft, 
                       VR1_200$ou_kraft, 
                       VR1_250$ou_kraft, 
                       VR1_310$ou_kraft)
colnames(kraft_ou) <- c("kraft_100", "kraft_125", "kraft_160", "kraft_200", "kraft_250", "kraft_310")
kraft_ou

boxplot(kraft_ou,
        names=c("1,0 [N]", "1,3 [N]","1,6 [N]","2,0 [N]","2,5 [N]","3,1 [N]"), 
        col = "bisque",
        ylim = c(1, 7))
points(1:6, meanskraftou, pch=4)
text(1:6, meanskraftou + 0.24, labels = meanskraftou)
abline(h=4)

数据(6支部队中每支部队的n=30等级从1到7):

dput(kraft_ou)结构(kraft_100= c(4、3、5、5、3、4、2、4、4、5、4、5、5、4、4、4、4、6、5、4、4、4、4、4、4),kraft_125 = c(4、4、5、6、4、3、4、4、4、4、5、4、4、3、4、4、4、6、6、4、4、4、5,3,5,4,4,4,5),kraft_160 = c(5,6,6,6,6,4,6,5,6,5,4,3,6,6,6,5,5,5,6,6,5,5,6,6,4,5,6,4,5,5,5),kraft_200 = c(6,5,6,6,5,4,5,6,7,5,3,5,5,5,4,7,6,5,5,7,6,6,kraft_250 = c(5、6、6、7、6、6、6、5、7、7、5、5、6、6、7、7、7、6、6、6、6、7、7、5、5、6、6、7、7、6、6、6、5、5、7、4、6、6、5),kraft_310 = c(7、7、7、7、6、5、6、6、4、5、7、6、5、5、7、6、5、6、6、6、6、6、6、6,5,6,5,6,5,6,6,6),类= "data.frame",row.names = c(NA,-30L)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-09 08:26:53

您可以使用at参数为您的盒形图指定x个位置,但是要使它们足够窄以避免过度绘制,您需要添加一个不可见的框,并将可见框的相对宽度设置为一个较小的值:

代码语言:javascript
复制
boxplot(cbind(kraft_ou, n = rep(NA, nrow(kraft_ou))),
        names=c("1,0 [N]", "1,3 [N]","1,6 [N]","2,0 [N]","2,5 [N]","3,1 [N]",
                " "), 
        col = "bisque",
        ylim = c(1, 7), width = c(0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1),
        at = c(1, 1.3, 1.6, 2.0, 2.5, 3.1, 3.1))
abline(h = 4)

要添加一条回归线,您需要将所有数据帧值都放在一个y变量中,并将其对应的x轴位置的向量:

代码语言:javascript
复制
abline(lm(unlist(kraft_ou) ~ rep(c(1, 1.3, 1.6, 2.0, 2.5, 3.1), each = 30)))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72168646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档