2016-04-17 6 views
4

オプションがない場合(rgl.useNULL = TRUE)、ヘッドレスサーバーではrgl.postscript()は動作しませんか?私はrgl.snapshot()が動作しないことを知っています。 ":ポストスクリプト変換が失敗したrgl.postscript rgl.useNULL = TRUE

library(rgl) 
options(rgl.useNULL = TRUE) 
open3d() 
x <- sort(rnorm(1000)) 
y <- rnorm(1000) 
z <- rnorm(1000) + atan2(x, y) 
plot3d(x, y, z, col = rainbow(1000)) 
rgl.postscript("test.pdf",fmt="pdf") 

これは私が "(test.pdfという "FMT =" PDF)" rgl.postscriptで" 提供します。

答えて

3

場合によってはそうすることができますが、現時点ではそうではありません。 1つの問題は、ヌルデバイスでrglを起動すると、OpenGL関数でもリンクされず、rgl.postscript()はそれらのいくつかを使用することです。

編集:申し訳ありませんが、「リンクしていません」とは何ですか?現在はリンクする必要がありますが、初期化コードは実行されないため、表示が利用できないコンテキスト(ヘッドレスサーバーなど)で動作するはずです。

ヘッドレスサーバーでは、Xvfbを「仮想フレームバッファ」として使用できます。私はそれに多くの経験はありませんが、私はそれがrgl.snapshotを適切に処理しないと聞いたと思います。私はrgl.postscriptが動作すると思います。

原則として、WebGLでレンダリングしてから、他のツールを使用して出力を目的の形式に変換することもできます。私はそのようなツールが存在するかどうかわかりません。

+1

よろしくお願いします。だから現在、ヘッドレスサーバーでrglプロットを撮影する方法はありませんか? – jorkku

関連する問題