从R中的函数绘制多个对象

时间:2013-02-15 13:59:59

标签: r quantmod

我正在尝试一个功能来绘制quantmod图表和一些矩形图表。从cmd运行时它工作正常,但是在函数内部包装时,只显示rect,或者只显示图形,或者有时两者都没有显示。 示例代码:

f1 <- function() { 
require(quantmod)
s <- get(getSymbols('PRGO'))["2012::"]
chart_Series(s)
u<-par("usr")
d<-data.frame(Buttom=c(100,90),Top=c(110,95))
rect(u[1],d[,'Buttom'],u[2],d[,'Top'],col=rgb(1,0,0,alpha=0.2),border=0)
}
  • 您可能需要运行plot.new()
  • 如果从函数返回图表对象并打印它,它可以工作,但我没有找到一种方法返回图表对象和矩形(矩形也是一个列表)
  • 我知道函数在临时环境中工作 - 我还没有找到在全局环境中运行该函数的方法。我不知道如何在全球环境中assign直到chob
  • 该功能最终将完成所有绘图 - 我想添加更多行,标签等。

感谢。

1 个答案:

答案 0 :(得分:1)

如果您将chart_Series()包裹在print内,它似乎有用吗?

f1 <- function() { 
  require(quantmod)
  s <- get(getSymbols('PRGO'))["2012::"]
  print(chart_Series(s))
  u<-par("usr")
  d<-data.frame(Buttom=c(100,90),Top=c(110,95))
  rect(u[1],d[,'Buttom'],u[2],d[,'Top'],col=rgb(1,0,0,alpha=0.2),border=0)
}

f1()

enter image description here