Tôi có cốt truyện 3d sau:Formatting của cốt truyện persp3d
Với tôi data tôi tạo ra nó với đoạn mã sau:
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)
Làm thế nào tôi có thể nhận được một màu tùy thuộc vào z giá trị? Tôi đã xem xét các giải pháp khác nhau, ví dụ: này one, nhưng tôi không thể tạo màu tùy thuộc vào giá trị z trong trường hợp này. Giải pháp theo this thread sẽ là như sau:
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)
Nhưng điều này không đưa ra một kết quả tốt, vì nó không màu cốt truyện phù hợp. Tôi muốn có bề mặt của tôi tăng đột biến, ví dụ: màu đỏ và giá trị thấp, ví dụ: trong màu xanh với một chuyển đổi suôn sẻ, nhưng loại màu này là những lát, vì vậy tùy thuộc vào thời gian? Vì vậy, các gai lớn cực lớn phải được tô màu khi có gai màu đỏ và các giá trị ở dưới cùng, ví dụ: màu xanh lá cây. Làm thế nào tôi có thể nhận được điều này?
Chỉnh sửa: Tôi tìm thấy giải pháp cho câu hỏi trước của tôi về ngày trên trục, vấn đề duy nhất còn lại, là màu thích hợp phụ thuộc vào giá trị z.
Xin lưu ý: Tôi không biết tại sao nhưng tôi phải tải gói rgl trước khi mở không gian làm việc nếu không R của tôi bị lỗi, tôi không biết tại sao. –