0

下面是我使用 quantmod 绘制函数的 R 代码,但是这样做的限制是我只能输出一个图形。有没有办法让你的函数输出多个图形,比如通过设置内容text/html并以某种方式使用它渲染多个图形?你能告诉我怎么做吗?

tickergraph = function()
{
setContentType ("image/png")
temp <- tempfile ()
png (temp, type="cairo")
ticker <- toupper(POST$t);
getSymbols(ticker)
chartSeries(eval(parse(text=ticker)))
dev.off ()
sendBin (readBin (temp, 'raw', n=file.info(temp)$size))
unlink (temp)
}

if(!is.null(POST$t))
{
tickergraph()
print(POST)
}

print("Cannot Plot when some of the values are NULL")
4

1 回答 1

0

解决此问题的一种方法是制作一个 HTML 文件,其中包含所有图形为 img,例如:

<html><body>
<img src="firstgraph.r" /><br />
<img src="secondgraph.r" /><br />
…
</body></html>

然后让 firstgraph.r 类似于您在上面发布的代码(即输出image/png和 secondgraph.r 输出另一个带有第二个图的图像/png等等。

这将呈现一个页面,该页面依次加载您的所有图像(然后将根据请求生成)。

另一种(更典型的 R 解决方案)是创建一个面板图,将所有图形连接到一个图像中(例如,通过par(mfrows=c(2,1))获得 2×1 图形)。

于 2012-06-27T23:02:34.457 回答