2012-06-11 18 views
0

下面是使用quantmod繪製函數圖形的R代碼,但限制只能輸出一個圖形。有沒有辦法讓你的函數輸出多於一個圖形,說設置內容text/html,並以某種方式使用它來渲染多個圖形?你能向我解釋怎麼做?要解決這個如何使用R-Apache輸出多個圖形

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") 
+1

爲什麼不在「」標籤中顯示保存的圖像?那麼你可以有多少你想要的。 –

+0

我如何獲得圖像源?它將其存儲在網站目錄 –

+1

以外的臨時文件中。「It」只會執行您告訴它的內容,因此將其存儲在網站目錄內的永久文件中。 –

回答

0

一種方法是使一個HTML文件具有所有的圖表作爲IMG的如:

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

然後有firstgraph.r類似於您在上面發佈的代碼的東西(即東西輸出圖像/ PNG和secondgraph.r輸出另一個圖像/ PNG與你的第二個圖形等。

這將呈現一個網頁,其中依次加載所有圖像(然後將根據請求生成)。其他(更典型的R解決方案)將創建一個鑲板圖形,將所有圖形連接成一個圖像(例如通過par(mfrows = c(2,1)),按1圖)。