考虑以下功能:
plotSmth <- function(...) ggplot2::ggplot(...) +
expand_limits(x =c(0), y =0)
是否可以覆盖expand_limits()
plotSmth
设置的值
我尝试过类似的事情:
plotSmth(thisIsData, aes(x=xhere, y=yhere, colour=as.factor(foo), lty=as.factor(bar) ) ) +
expand_limits(x=c(10), y=c(0, 25))
但它仍然没有覆盖0
x
中设置的plotSmth
轴的expand_limits()
。
有没有办法实现这个目标?
答案 0 :(得分:1)
expand_limits
添加了一个带有数据的虚拟层来拉伸轴,因此您无法轻松撤消。我想到了三种选择:
expand_limits
中使用plotSmth
,也许xlim()
/ ylim()
可以完成这项工作,而这些可以重置; coord_cartesian()
;
p = qplot(1:2,1:2) + expand_limits(x=-1e3)
p
p$layers[2] <- NULL
p