10

視覚化したい 10000 回の観測の長い時系列があります。問題は、通常どおりにプロットすると、時間次元が押しつぶされ、視覚化したい時系列の詳細が明らかにならないことです。例えば:

 plot((sin(1:10000/100)+rnorm(10000)/5),type='l')

私が望むのは、par(mfrow=c(1,100)) を使用せずに、以下を 1 つの巨大なプロットに並べてプロットすることです。次に、この非常に広いプロットをエクスポートし、スクロールしてシリーズ全体を視覚化します。

 plot((sin(1:10000/100)+rnorm(10000)/5)[1:100],type='l')
 plot((sin(1:10000/100)+rnorm(10000)/5)[101:200],type='l')
 plot((sin(1:10000/100)+rnorm(10000)/5)[201:300],type='l')
 .....

最終的には、これらの巨大な幅のプロットを 3 つまたは 4 つ並べて、par(mfrow=c(4,1)).

答えが のpin設定に関係していることはわかっていますがpar、 を取得し続けError in plot.new() : plot region too largeます。pinこれは、他のparパラメーターとの相互作用と関係があると思います

ピクセルの高さと幅を正確に設定できれば、ボーナス ポイントが与えられます。エクスポートのサイズ変更が不完全であるため、プロットがランダムなピクセルをスキップしないことが望ましいです。

画像を.html. そしてこのように見た

4

3 に答える 3

4

Cairo 固有の問題であるか、マシンの RAM が不足している可能性があります。次のコードは、8GB RAM を搭載した Windows 7 マシンで問題なく動作します。

png("wide.png", width = 1e5, height = 500)
plot((sin(1:10000/100)+rnorm(10000)/5),type='l')
dev.off()

幅を1e6ピクセルに変更すると、R はファイルを正常に作成します (約 1 分かかりました) が、私が入手した画像表示ソフトウェアでは、それほど大きな画像を表示できません。

于 2013-10-03T08:48:17.520 に答える
1

私はいくつかの代替ルートに行きます。まず第一に、ハイレゾでプロット全体を見るポイントは正確には何ですか? なんらかの異常や不規則性を探しているなら、まあ、それがデータ処理の目的です :-) . x > 3sigmaすべてを見つける、またはFFTを実行するなどのことを考えてください。

次に、本当に全体を目で見て確認したい場合は、R-TclTK コードを書くか、dynamicGraphまたはiplotsorを使用zoomして、「ライブ」でスクロールできるインタラクティブなグラフを作成します。

ETA: IIRC RStudio には、インタラクティブなグラフのスクロールとズームのためのツールもあります。

于 2013-10-03T11:31:57.423 に答える