2013-05-23 2 views
6

格子パッケージを使用してRでいくつかのサーフェスをプロットしています。私は表面の色を選択する方法を見つけることができません。次に例を示します。ここではワイヤフレームの色を手動で定義する

enter image description here

は、私はそれぞれのプロット方法の例です:

theseCol=heat.colors(150) 
mm=paste("WB numbers where present\n(",nstoch," sims)",sep="") 
WBnumbers=wbPrev_series 
rownames(WBnumbers)=KList 
colnames(WBnumbers)=iMwbList 
wireframe(WBnumbers, zlim=c(0,max(wbPrev_series,na.rm=TRUE)), colorkey=FALSE, 
        col.regions=theseCol, scales = list(arrows = FALSE), drape = TRUE, 
        main=mm, zlab="", xlab="K", ylab="iMwb") 

私はそれがあるとされた最初の表面のためたいのですが、他人のためにすることそれらのzレベルではなく、第1の表面のzレベルによって着色される。私は複数のことを試みましたが、ワイヤフレームは常に私が現在の変数の可能な範囲として与える色を受け入れます。

とにかくこれはできますか? ありがとう

+2

残念ながら、これは格子で達成するのが信じられないほど困難です。 3Dオブジェクトのレンダリングは、Cレベルの関数を使用するパッケージの一部です( 'latticePackageSource/src/threeDplot.c'の' wireframePanelCalculations')。 'lattice ::: panel.3dwire'関数で' wireframePanelCalculations'が呼び出され( '.Call()'を使用して)、関数 'lattice :: panel.3dwire'の各ファセットに対して直前に定義されたR関数' wirePolygon'が呼び出されます。表面。 C関数とR関数の間に渡されるのは、z値と色レベルのベクトルだけです。これを回避する方法はありません。残念な! –

答えて

2

これは、Dave W.がR-helpメーリングリストで数年前に投稿した回答です。あなたはおそらく全体のスレッドをGoogleにすることができます。

から:
をカラーキーとヘルプページで適切なリンクをたどるための適切な仕様:デビッドWinsemius あなたがアドバイスの再ため
levelplotセクションを見て必要な支援(wirefrane)でアドバイスを以下に示します。データ
がワイヤフレームへの適切な入力であるかどうかは、付属の
の情報から判断することはできませんが、報告された成功が示唆していると思います。

は、これは私が指さ材料読んだ後にテストされていない(テストするためには何もありませんでしたので)野生assed推測
です:

wireframe(data.m,aspect = c(0.3), shade=TRUE, screen = list(z = 0, x = 
-45), 
    light.source = c(0,0,10), distance = 
0.2,zlab="Freq",xlab="base",ylab="Fragment", 
    col=level.colors(x, at = do.breaks(range(data.m), 30), 
        col.regions = colorRampPalette(c("red", "white", 
"blue")(30)) 
     ) 

EDIT:ジョシュの要求ごと を、私は少し周りを果たしました。以下は、色合い(ドレープ)を適用します。

wireframe(dmat,drape=TRUE,col='black',col.regions = colorRampPalette(c("red", "white", "blue"))(30)) 

「ドレープ」の色は設定しますが、グリッド線は設定しません。 wireframepar(new=TRUE)を尊重しないのは残念ですが、それができれば、データ行列をz範囲にスライスして一度に1色ずつ重ねることができるからです。

家に帰ると古いグラフィックスのW/Rグラフィックをチェックする必要がありますが、データ依存のグリッドカラーを得るためにscatterplot3dパッケージを使い終わったと思います。

+0

おそらく、私が正しく理解していれば、後にスレッドではうまくいかないと報告されている、テストされていない野生の推測推測を投稿する価値はありません。実際に何らかの形で機能している場合は、どのように表示することができますか? –

+0

こんにちは、申し訳ありませんが、動作しません。私は今、不可能な仕事のように聞こえているので、それから離れました。回答ありがとう。 – lourencoj

関連する問題