ggplot2 - 以编程方式添加元素

时间:2016-10-11 04:11:27

标签: r ggplot2

我为ggplot构建了一个包装器,并希望启用此用户来打开或关闭某些元素。例如,在某些图表中,用户希望将y轴最小值设置为0,而在其他图表中则不会。“

在这种情况下,我希望能够做的是让用户将'ymin'变量作为T或F传递给函数。如果是T,则应将以下元素添加到图表中。

+ expand_limits(y=0)

有没有简单的方法来实现这一目标?或者我应该使用这种问题采用完全不同的方法吗?

2 个答案:

答案 0 :(得分:1)

math.coffee推动我朝着正确的方向前进。这是一个详细的答案。

plot <- ggplot(data=data, aes(...))+
   geom_line()

if(ymin == T)
{
  plot <- plot + expand_limits(y=0)
}

答案 1 :(得分:0)

你可以将你的ggplot包装在一个函数中,你可以选择参数。如果没有为函数提供参数,则使用签名中的指定值

plotWithLimits <- function(y=0, data, ...) {
  return ggplot(data=data, aes(..)) + geom_line()+expand_limits(y=0)
}