是否可以仅设置连续刻度限制的下限?我想让我的所有绘图都基于0,而不需要指定上限。
e.g。
+ scale_y_continuous(minlim=0)
答案 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))