eval()无法与ggplot一起使用,返回“非数字参数给二进制运算符”

时间:2018-11-19 19:54:23

标签: r ggplot2

我将以下ggplot元素存储为文本

eval(parse(text = " annotate('text', as.Date('2013-12-31'), 30.31049879  * 1.02,
       label = paste0( 19.48 , percent( 0.055 )), color = 'Blue') +
       annotate('text', as.Date('2013-12-31'), 33.341548669  * 1.02,
       label = paste0( 21.43 , percent( 0.048 )), color = 'Blue') "))

eval()返回错误“二进制运算符的非数字参数”,因为它试图将两个部分加在一起,但是ggplot的加号使用不同。有什么办法可以避免这个问题?

1 个答案:

答案 0 :(得分:0)

此问题的解决方法是将ggplot() +放在代码的开头,即

eval(parse(text = "ggplot() +
annotate('text', as.Date('2013-12-31'), 30.31049879  * 1.02,
           label = paste0( 19.48 , percent( 0.055 )), color = 'Blue') +
               annotate('text', as.Date('2013-12-31'), 33.341548669  * 1.02,
               label = paste0( 21.43 , percent( 0.048 )), color = 'Blue') "))