为什么ggplot y=0 和x 轴之间有边距?

问题描述 投票:0回答:1

默认情况下,ggplot2 图形在绘图区域和轴之间有一个小边距,例如,x 轴与 y 轴相交于 y=0 的正下方。我知道如何删除它。我的问题是有人知道为什么这是默认完成的吗?我在数据可访问性方面受到了挑战,并且想知道这种设计默认值的合理性。下面的例子:

library(ggplot2)
x <- y <- seq(0,10,1)
df <- data.frame(x, y)
ggplot() + geom_point(data = df, aes(x,y)) +theme_bw()

example plot

谢谢

ggplot2 margin axis
1个回答
0
投票

如果你没有扩展,你就必须在面板之外绘制一些几何图形的一部分。您可以使用 coord_cartesian(clip = "off) 来做到这一点,但这并不总是可取的。 比较

ggplot() + 
  geom_point(data = df, aes(x,y), size = 10) +
  scale_y_continuous(expand = c(0, 0)) +
  theme_bw()

ggplot() + 
  coord_cartesian(clip = "off") +
  geom_point(data = df, aes(x,y), size = 10) +
  scale_y_continuous(expand = c(0, 0)) +
  theme_bw()

ggplot() + 
  coord_cartesian(clip = "off") +
  geom_point(data = df, aes(x,y), size = 10) +
  scale_y_continuous(expand = c(0, 1)) +
  theme_bw()
© www.soinside.com 2019 - 2024. All rights reserved.