gpt4 book ai didi

r - 将 geom_boxplot 与 facet_grid 和 free_y 一起使用

转载 作者:行者123 更新时间:2023-12-05 01:03:11 25 4
gpt4 key购买 nike

此问题已被问到 a few times ,但我已经阅读了所有内容,但找不到答案。

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
boxthis=rnorm(100))
ggplot(aes(y=boxthis, x=f2), data=df)
+ geom_boxplot()
+ facet_grid(~f1, scales="free")

这会生成下面的图,但是 y 轴在构面列中共享 .在我的真实数据中,这是一个问题,因为 f1 中的每个因素需要一个大不相同的轴范围。获取 free 有什么技巧吗?来这里工作?

plot

我发现 free在使刻面垂直时按预期工作,如下所示,但与使刻面水平相比,这显然看起来很可怕
ggplot(aes(y=boxthis, x=f2), data=df) 
+ geom_boxplot()
+ facet_grid(f1~., scales="free")

plot2

最佳答案

我会继续在这里发布@DavidArenburg 的回答以结束这个问题。您应该使用 facet_wrap而不是 facet_grid

df <- data.frame(f1=factor(rbinom(100, 1, 0.35), label=c("m","w")), 
f2=factor(rbinom(100, 1, 0.65), label=c("young","old")),
boxthis=rnorm(100))
ggplot(aes(y=boxthis, x=f2), data=df) +
geom_boxplot() +
facet_wrap(~f1, scales="free")

基本上 facet_grid试图很好地对齐所有内容,以便在矩形布局中的行和列之间的变量级别相同,并且可以轻松地跨绘图进行比较。 facet_wrap不是那么挑剔,只会将图包装成任意数量的行和列。这不是为什么后者允许您指定 nrowsncols前者没有(它使用条件因子中的级别数)

enter image description here

关于r - 将 geom_boxplot 与 facet_grid 和 free_y 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062327/

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