89

是否可以只设置连续比例限制的下限?我想让我的所有地块都以 0 为基础,而无需指定上限。

例如

+ scale_y_continuous(minlim=0)
4

4 回答 4

133

您可以使用expand_limits

ggplot(mtcars, aes(wt, mpg)) + geom_point() + expand_limits(y=0)

这是两者的比较:

  • 没有expand_limits

  • expand_limits

从 1.0.0 版开始ggplot2,您只能指定一个限制,而另一个限制则与通常通过将第二个限制设置为 来确定的一样NA。这种方法将允许扩展和截断轴范围。

ggplot(mtcars, aes(wt, mpg)) + geom_point() +
  scale_y_continuous(limits = c(0, NA))

指定它通过ylim(c(0, NA))给出一个相同的数字。

于 2012-06-26T19:14:16.697 回答
12

如何使用aes(ymin=0),如:

ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0)
于 2012-06-26T19:02:31.150 回答
7

您还可以尝试以下代码,它将为您提供零的最小 y 轴,并且 x 轴和最小 y 值之间没有额外的间隙。

scale_y_continuous(limits = c(0, NA), expand = c(0,0))
于 2018-03-02T14:25:42.330 回答
-1

我不认为你可以直接做到这一点。但作为一种解决方法,您可以模仿 ggplot2 确定上限的方式:

scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))
于 2012-06-26T18:55:05.917 回答