2015-06-05 37 views
3

我需要一種方法來增加由saveHTML()創建的png文件的分辨率。當在R中使用saveHTML(){animation}時增加png分辨率

這裏是什麼,我試圖做而實際上情節()的虛擬腳本一些嵌套循環:

x<-y<-rep(1,10) 
saveHTML(for (i in 1:10){ 
plot.new() 
plot.window(xlim=c(0,10),ylim=c(0,10)) 
plot(x[i],y[i]) 
} 
,ani.dev="png",img.name="test",htmlfile="test") 

有幾件事情我已經嘗試: 1)增加動畫尺寸使用ani.options(ani.height,ani.width),但我只得到一個更大的顆粒狀圖像。 2)在saveHTML表達式中調用png()設備並在那裏設置分辨率,但最終我沒有得到任何數字。 3)調用一個新的windows()設備來繪製和設置窗口大小,但是這不會增加分辨率。

我碰到的最直接的解決方法是使用ffmpeg創建高分辨率PNG和動畫。但我還沒有準備好重新編寫我的腳本。

有沒有人找到一種方法來增加saveHTML()函數內的png分辨率?

+2

你是什麼意思「較大的顆粒狀圖像」?我得到了我期望的,更大的PNG,就好像我用這個寬度和高度調用了'png'一樣。你的'png'司機壞了嗎?你能指點我們截圖嗎? – Spacedman

+0

@Spacedman正如你所描述的,我得到更大的(寬x高)圖像,就好像我直接調用png驅動程序一樣。但我沒有得到增加的決議。那麼結果是什麼結果是一個像素化的尺寸較大的圖像,你幾乎看不清這個圖形。 – jsol

回答

0

不是傳遞ani.dev="png"的,你可以通過ani.dev = function(...){png(res=75*grain,...)},其中grain是一些數> 1。如果你指定的選項ani.height和/或ani.width,由同一因素grain乘這些值,那麼你有效增加像素分辨率這個因素的輸出。

N.B .:上面的默認分辨率75可能是機器相關的,我沒有看到它的記錄。