r ggplot坐标轴刻度 - 强制原点从0开始





axis label (2)


xlimylim不会在这里剪切它。 您需要使用expand_limitsscale_x_continuousscale_y_continuous 。 尝试:

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for

p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))

您可能需要稍微调整一下,以确保点不会被切断(例如,请参阅x = 5y = 5

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

x轴的线应该恰好在y=Z

Z=0或另一个给定值。




您可以提供一个函数参数来scale ,ggplot将使用该函数来计算滴答位置。

library(ggplot2)
dat <- data.frame(x = rnorm(100), y = rnorm(100))
number_ticks <- function(n) {function(limits) pretty(limits, n)}

ggplot(dat, aes(x,y)) +
  geom_point() +
  scale_x_continuous(breaks=number_ticks(10)) +
  scale_y_continuous(breaks=number_ticks(10))




r plot ggplot2 axes