R 仅设置ggplot限制的下限

R 仅设置ggplot限制的下限,r,ggplot2,R,Ggplot2,是否可以只设置连续刻度的下限?我希望使所有绘图都以0为基础,而无需指定上限 e、 g 我不认为你能直接做到这一点。但作为一种解决方法,您可以模仿ggplot2确定上限的方式: scale_y_continuous(limits=c(0, max(mydata$y) * 1.1)) 使用aes(ymin=0)怎么样,如: ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0) 您可以使用扩展\u限制 ggplot(mtcars, ae

是否可以只设置连续刻度的下限?我希望使所有绘图都以0为基础,而无需指定上限

e、 g


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

scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))
使用aes(ymin=0)怎么样,如:

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

您可以使用
扩展\u限制

ggplot(mtcars, aes(wt, mpg)) + geom_point() + expand_limits(y=0)
以下是两种方法的比较:

  • 扩展\u限制

  • 使用
    扩展\u限制

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

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


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

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

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

这将覆盖geom_errorbar等的ymin。;expand_limits()似乎更安全。这不是通用的,因为对于
geom_density
,它会给我
错误:stat_bin()不能与y美学一起使用
,或者当放置在
geom_density
中时,
警告:忽略未知美学:ymin
(后者完全可以预期)@帕特里克特,你的意思是作为对我的评论吗?这正是我想要的。谢谢有没有办法用
coord\u cartesian()
来代替?
scale_y_continuous(limits = c(0, NA), expand = c(0,0))