Rstudio-Empty ggplot中的一个函数

时间:2016-07-30 15:50:41

标签: r ggplot2

我有一个名为plot.medals2的函数,它的输入包含一个名为start的变量和一个名为finish的变量。这两个变量都是数字,我希望如果start大于finish,函数将停止运行并绘制一个空的ggplot,就像我在这里附加的那样。enter image description here

这是应该处理的代码的一部分:

plot.medals2 <- function(code,start,finish,medalsvec) {
  if(start>finish) {  #years not make sense return empty drawing
    ggplot() + ylab('medals won') + xlab('year') +
      ggtitle(paste('Medals by',"",countries.df[countries.df$country_id==code,]$country_name,',',"",finish,'-',start))
    return()
  }
}

这是我尝试运行时得到的结果:

plot.medals2('USA',1933,1456,c('GOLD'))
NULL

我尝试使用断点选项来查看发生了什么,似乎是 函数确实输入if语句意味着它识别变量start大于finish但是由于某种原因它跳过接下来的2行并且没有绘制任何东西。现在当我使用这个

 ggplot() + ylab('medals won') + xlab('year') +
   ggtitle(paste('Medals by',"",countries.df[countries.df$country_id==code,]$country_name,',',"",finish,'-',start))

在函数之外它可以工作但不是当它是函数的一部分时。

0 个答案:

没有答案