是否可以只设置连续缩放的下限?我想让所有的图都基于0,而不需要指定上限。例如
+ scale_y_continuous(minlim=0)
j13ufse21#
可以使用expand_limits
expand_limits
ggplot(mtcars, aes(wt, mpg)) + geom_point() + expand_limits(y=0)
以下是两者的比较:
从ggplot2的1.0.0版本开始,您只能指定一个限制,而另一个限制通常是通过将第二个限制设置为NA来确定的。这种方法将允许扩展和截断轴范围。
ggplot2
NA
ggplot(mtcars, aes(wt, mpg)) + geom_point() + scale_y_continuous(limits = c(0, NA))
通过ylim(c(0, NA))指定它给出了相同的图。
ylim(c(0, NA))
kpbpu0082#
如何使用aes(ymin=0),如下所示:
aes(ymin=0)
ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0)
3pmvbmvn3#
你也可以尝试下面的代码,它会给予你最小y轴为零,也没有x轴和最小y值之间的额外间隙。
scale_y_continuous(limits = c(0, NA), expand = c(0,0))
x4shl7ld4#
如果你想保持ggplot默认计算的比例上限“不变”,AND 消除下限上的填充,这样绘图区域从0开始,从ggplot2 v3.0.0+开始,你可以为比例的上限和下限指定单独的扩展值。scale_y_continuous(limits = c(0, NA), expand = expansion(mult=c(0, 0.05)))参见scale_continuous()的help中的限制和扩展参数的描述,使用便捷函数expansion()生成expand参数的值。默认情况下,对于连续变量,每边扩展5%,对于离散变量,每边扩展0.6个单位。我们使用mult参数到expansion()来计算5%的膨胀。
scale_y_continuous(limits = c(0, NA), expand = expansion(mult=c(0, 0.05)))
scale_continuous()
mult
expansion()
ggplot(mtcars, aes(wt, mpg)) + geom_point() + labs(subtitle="default")
ggplot(mtcars, aes(wt, mpg)) + geom_point() + scale_y_continuous(limits=c(0, NA))+ labs(subtitle="specifying limits alone leaves default 5% padding on both ends")
ggplot(mtcars, aes(wt, mpg)) + geom_point() + scale_y_continuous(limits=c(0, NA), expand=expansion(mult=c(0, 0.05))) + labs(subtitle = "limits and an unequal expansion gets what we're after")
p4rjhz4m5#
我不认为你可以直接这样做。但是作为一种变通方法,你可以模仿ggplot2确定上限的方式:
scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))
5条答案
按热度按时间j13ufse21#
可以使用
expand_limits
以下是两者的比较:
expand_limits
expand_limits
从
ggplot2
的1.0.0版本开始,您只能指定一个限制,而另一个限制通常是通过将第二个限制设置为NA
来确定的。这种方法将允许扩展和截断轴范围。通过
ylim(c(0, NA))
指定它给出了相同的图。kpbpu0082#
如何使用
aes(ymin=0)
,如下所示:3pmvbmvn3#
你也可以尝试下面的代码,它会给予你最小y轴为零,也没有x轴和最小y值之间的额外间隙。
x4shl7ld4#
如果你想保持ggplot默认计算的比例上限“不变”,AND 消除下限上的填充,这样绘图区域从0开始,从ggplot2 v3.0.0+开始,你可以为比例的上限和下限指定单独的扩展值。
scale_y_continuous(limits = c(0, NA), expand = expansion(mult=c(0, 0.05)))
参见
scale_continuous()
的help中的限制和扩展参数的描述,使用便捷函数expansion()生成expand参数的值。默认情况下,对于连续变量,每边扩展5%,对于离散变量,每边扩展0.6个单位。
我们使用
mult
参数到expansion()
来计算5%的膨胀。示例
p4rjhz4m5#
我不认为你可以直接这样做。但是作为一种变通方法,你可以模仿ggplot2确定上限的方式: