gpt4 book ai didi

r - 在 ggplot 中在 x 轴和条形之间添加一些空间

转载 作者:行者123 更新时间:2023-12-02 20:00:11 29 4
gpt4 key购买 nike

我有以下数据框:

df = data.frame(x = c('a', 'b'),
y = c(2,4))

和相应的图:

ggplot(df, aes(x,y)) + 
geom_col()

enter image description here

我的刻度是从 1 到 5,所以我不希望 0 出现在 y 轴上,而是希望 y 轴从 1 开始。但我仍然想要条形下方的空白区域。

ggplot(df, aes(x,y)) + 
geom_col() +
coord_cartesian(ylim = c(1,4)) +
scale_y_continuous(
expand = expand_scale(add = c(0.2,0)))

enter image description here

如您所见,y 轴确实从 1 开始,但现在 1 下方的空间被黑色条填充,不再是空白。我咨询的其他帖子处理 y 轴从 0 开始的情况,因此 expand_scale() 完成了这项工作。不是我的情况。

关于如何解决这个问题有什么想法吗?

最佳答案

您可以使用 scale_y_continuous 中的限制来指示您想要显示的范围。限制中的 NA 是“使用默认值”。现在,通常这会带走两个条,因为它们超出范围 (oob),但是您可以通过将秤的 oob 参数设置为 squish 来解决这个问题>,这是 scales 包中的一个函数。

library(scales)

ggplot(df, aes(x,y)) +
geom_col() +
scale_y_continuous(limits = c(1, NA), oob = squish)

enter image description here

关于r - 在 ggplot 中在 x 轴和条形之间添加一些空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56097381/

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