12

私は次の3Dプロットを持っています:

ロ

私のデータを使用して、次のコードで作成しました。

library(rugarch)
library(rgl)
library(fGarch)

fd <- as.data.frame(modelfit, which = 'density')
color <- rgb(85, 141, 85, maxColorValue=255)

x <- seq(-0.2, 0.2, length=100)
y <-c(1:2318)

f <- function(s, t) {
 dged(s,mean=fd[t,'Mu'],sd=fd[t,'Sigma'],nu=fd[t,'Shape'])

}

z <- outer(x, y, f)
persp3d(x, y, z, theta=50, phi=25, expand=0.75, col=color,
      ticktype="detailed", xlab="", ylab="time", zlab="",axes=TRUE)

z 値に応じて色を付けるにはどうすればよいですか? これなど、さまざまなソリューションを検討しました、この場合、z 値に応じてカラーリングを作成できませんでした。このスレッドによると、解決策は次のようになります。

nrz <- nrow(z)
ncz <- ncol(z)
jet.colors <- colorRampPalette( c("#ffcccc", "#cc0000") ) 
# Generate the desired number of colors from this palette
nbcol <- 100
color <- jet.colors(nbcol)

# Compute the z-value at the facet centres
zfacet <- z[-1, -1] + z[-1, -ncz] + z[-nrz, -1] + z[-nrz, -ncz]
# Recode facet z-values into color indices
facetcol <- cut(zfacet, nbcol)

  persp3d(x, y, z, theta=50, phi=25, expand=0.75, col=color[facetcol],
          ticktype="detailed", xlab="", ylab="time", zlab="",axes=TRUE)

しかし、これはプロットに適切な色を付けないため、良い結果にはなりません。サーフェスのスパイクをたとえば赤にし、低い値をたとえば青にしてスムーズな移行を実現したいのですが、この種のスライスは時間に応じて色付けされますか? そのため、極端に大きなスパイクは、スパイクを赤で色付けし、下部の値を緑などで色付けする必要があります。どうすればこれを入手できますか?

編集:軸の日付に関する以前の質問に対する解決策を見つけました。残っている唯一の問題は、z 値に応じた適切な色付けです。

4

3 に答える 3

7

軸の制御をアサートするには、呼び出しでaxes=FALSE(昨日言われたように) を設定し、選択した引数で 関数と関数を使用する必要があります。下部の yz-box セグメントに沿って表示される値で x 軸を指定するには、 を使用します。行名で y 軸にラベルを付けるには、'labels' および 'at' 引数を使用します。persp3daxes3daxis3dedge= 'x--'

plot3d ( ..., axes=FALSE, ...)
# repositions x axis and draws default z axis
axes3d(c('x--','z'))  
# Use custom labels
axis3d(edge= 'y+-', at =seq(500,2000,by=500), 
                    labels = rownames(fd)[seq(500,2000,by=500)] )

ここに画像の説明を入力

(注: この SO ゲームを適切にプレイするには、助けを提供してくれた他の人にクレジットを与える必要があります。これは昨日の質問とあまり変わらず、有益な貢献に対して肯定的な反応は見られません。興味がなくなります。)

于 2013-06-23T18:41:34.547 に答える