【发布时间】:2012-06-26 18:46:04
【问题描述】:
是否可以只设置连续缩放限制的下限?我想让我的所有地块都以 0 为基础,而无需指定上限。
例如
+ scale_y_continuous(minlim=0)
【问题讨论】:
是否可以只设置连续缩放限制的下限?我想让我的所有地块都以 0 为基础,而无需指定上限。
例如
+ scale_y_continuous(minlim=0)
【问题讨论】:
你可以使用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)) 指定它会得到一个相同的数字。
【讨论】:
用aes(ymin=0)怎么样,如:
ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0)
【讨论】:
geom_density,它给了我Error: stat_bin() must not be used with a y aesthetic,或者当放在geom_density、Warning: Ignoring unknown aesthetics: ymin 中时(后者完全可以预期)
你也可以试试下面的代码,它会让你的最小 y 轴为零,并且 x 轴和最小 y 值之间没有额外的间隙。
scale_y_continuous(limits = c(0, NA), expand = c(0,0))
【讨论】:
coord_cartesian() 代替?
我认为您不能直接执行此操作。但作为一种解决方法,您可以模仿 ggplot2 确定上限的方式:
scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))
【讨论】: