我有以下3D圖:格式化
隨着我data我用下面的代碼創建它:
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值?我研究了不同的解決方案,例如這one,但我不能創建這種情況下取決於z值的着色。 根據this thread的解決辦法是以下幾點:
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值。
請注意:我不知道爲什麼,但我有,否則打開工作區我的[R崩潰之前加載RGL包,我不知道爲什麼。 –