相关疑难解决方法(0)

强制原点从0开始

如何在ggplot2中设置y轴和x轴的原点/截取?

x轴的线应该精确到y=Z.

Z=0或另一个给定的价值.

plot r axes ggplot2

120
推荐指数
4
解决办法
9万
查看次数

Facet_wrap 和scale="free" 意外地将 ggplot2 中 y 轴居中于零

从这个数据框

 df <- data.frame(cat=c(rep("X", 20),rep("Y", 20), rep("Z",20)), 
                     value=c(runif(20),runif(20)*100, rep(0, 20)), 
                     var=rep(LETTERS[1:5],12))
Run Code Online (Sandbox Code Playgroud)

我想创建多面箱线图。

library(ggplot2)

p1 <- ggplot(df, aes(var,value)) + geom_boxplot() + facet_wrap(~cat, scale="free") 
p1
Run Code Online (Sandbox Code Playgroud)

结果在美观上并不令人满意,因为它将空面板的 y 轴中心为零。我想将所有 y 尺度从零开始。我从之前的问题中尝试了几个答案:

p1 + scale_y_continuous(expand = c(0, 0)) # not working
p1 + expand_limits(y = 0) #not working
p1 + scale_y_continuous(limits=c(0,NA)) ## not working
p1 + scale_y_continuous(limits=c(0,100)) ## partially working, but defeats scale="free"
p1 + scale_y_continuous(limits=c(0,max(df$value))) ## partially working, see above
p1 + scale_y_continuous(limits=c(0,max(df$value))) + expand_limits(y = 0)## partially working, see above …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

3
推荐指数
1
解决办法
1049
查看次数

标签 统计

ggplot2 ×2

r ×2

axes ×1

plot ×1