我希望条形图的底部轴为零,但顶部扩展了一小部分(根据某种比例).但是,我正在绘制输出,stat_summary所以我没有可用的最大值,我正在使用facet scale="free_y"所以我无法手动设置它们.否则我会使用baptiste的添加技巧geom_blank.我知道我可以读取值并手动创建一个带有上限的数据框,但是这可以设置而不必硬编码限制吗?
另一种选择是计算函数调用之外的平均值,并且只是在没有调用的情况下绘制stat_summary(这样我直接为每个方面设置了上限),但有什么方法可以解决这个问题吗?
例:
ggplot(mtcars)+
stat_summary(aes(cyl,mpg),
fun.y="mean",
geom="bar")+
scale_y_continuous(expand=c(0,0))+
facet_grid(carb~.,"free_y")
Run Code Online (Sandbox Code Playgroud) 我有以下数据,
ex <- structure(list(stand = structure(c(4L, 4L, 4L, 2L, 2L, 2L, 3L, 3L, 3L, 1L, 1L, 1L, 5L, 5L, 5L), .Label = c("LC", "BH", "CS","BC", "MT"), class = "factor"),species = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), .Label = c("Tree 1","Tree 2", "Tree 3"), class = "factor"), dead = c(134.8314607,71.16104869, 101.1235955, 666.6666667, 153.5580524, 0, 430.7116105, 210.6741573, 0, 44.94382022, 202.247191, 71.16104869, 597.3782772,125.4681648, 28.08988764), dead.se = c(56.89147726, 21.37751711,24.46934619, 94.10878505, 22.71697636, 0, 79.89037082, 56.06261191,0, 19.89272748, …Run Code Online (Sandbox Code Playgroud)