2017-12-27 27 views
0

PLOT3Dパッケージ内のいくつかの重畳のプロットのための統一されたカスタマイズされたカラースキームを設定し、対応するプロットコマンドは(plot3Dライブラリを使って一つ一つを呼び出す。しかし、同じことが、基本的なRと他の環境にも適用されますプロットスタイル)。各サーフェスはデータから構築され、異なる範囲のデータを含みます。次のように我々はいくつかの発色方式で各表面をcolorifyことができます。R:私たちは、Rのいくつかの表面をプロットする必要が

私たちは、XYZポイントとして、いくつかの偽のデータを取る:

out.trial<-read.csv(text="1, 1, 30 
1, 2, 35 
1, 3, 29 
1, 4, 33 
2, 1, 31 
2, 2, 32 
2, 3, 34 
2, 4, 35 
3, 1, 28 
3, 2, 29 
3, 3, 29.5 
3, 4, 31 
4, 1, 30 
4, 2, 31 
4, 3, 33 
4, 4, 33",header=FALSE) 

は、今、私たちは、散布図のように2色の「表面」を構築します。第二の「表面」とは、ちょうど20

ライブラリ(「PLOT3D」)

scatter3D(out.trial$V1, out.trial$V2, -out.trial$V3, phi = 0, bty = "g", 
col = gg.col(100,alpha=0.8), pch = 18, ticktype="detailed", xlab = "lon", 
ylab ="lat", zlab = "depth",colvar=-out.trial$V3,zlim=c(-65,-25)) 

    scatter3D(out.trial$V1, out.trial$V2, -20-out.trial$V3, phi = 0, bty = 
"g", col = gg.col(100,alpha=0.8), pch = 18, 
colvar=-20-out.trial$V3,zlim=c(-65,-25), add=TRUE) 

    plotdev() 

3D plot with two colored surfaces

によってすべての値をシフトすることによって生成されるが、描画命令で呼び出さ標準カラーキー機能は、色を割り当て変数の最小/最大範囲から各サーフェスにデフォルトで適用されます。したがって、値の範囲が異なる2つのサーフェスは、それぞれ同じ方法で色付けされます。上記の例では、最初のサーフェス(スキャッタポイントのグループ)は28〜35、第2サーフェス〜48〜55の範囲の値を持ち、それらは両方ともパレットで青から茶色に色付けされています。私は、各サーフェスのカラースキーム(この場合)を28から55に設定する必要があります。上の点は黄色、ボトルトンの点は青みがかった色になります。 colvar=ディレクティブを修正して色を割り当てるためのカスタマイズされた範囲を設定するには?

答えて

0

ソリューションは、すべてのプロットディレクティブでパラメータclim=を使用することです。次に、すべてのプロットコマンドでカラーメニューの表示を抑止する必要があります。例に着色される値の範囲は、したがってclim=c(-55,-29)、-55から-29である:

scatter3D(out.trial$V1, out.trial$V2, -out.trial$V3, phi = 0, bty = "g", 
col = gg.col(100,alpha=0.8), pch = 18, ticktype="detailed", xlab = "lon", 
ylab ="lat", zlab = "depth",colvar=-out.trial$V3,zlim=c(-65,-25),clim=c(-55,-29)) 

scatter3D(out.trial$V1, out.trial$V2, -20-out.trial$V3, phi = 0, bty = 
"g", col = gg.col(100,alpha=0.8), pch = 18, 
colvar=-20-out.trial$V3,zlim=c(-65,-25), add=TRUE, clim=c(-55,-29), colkey=FALSE) 

plot with 2 surfaces and one coloring scheme

関連する問題