仅设置ggplot限制的下限

时间:2012-06-26 18:46:04

标签: r ggplot2

是否可以仅设置连续刻度限制的下限?我想让我的所有绘图都基于0,而不需要指定上限。

e.g。

+ scale_y_continuous(minlim=0)

4 个答案:

答案 0 :(得分:98)

您可以使用expand_limits

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

以下是两者的比较:

  • 没有expand_limits

  • expand_limits

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

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

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

答案 1 :(得分:10)

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

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

答案 2 :(得分:5)

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

scale_y_continuous(limits = c(0, NA), expand = c(0,0))

答案 3 :(得分:-1)

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

scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))