也許最簡單的方式實現的結果類似什麼,我相信是要求輸出可以在使用lattice
包包括:
set.seed(12358)
x <- runif(10)
y <- runif(10)
z <-(x+y)*(x-y)
x1<-x+y
y1<-x-y
library(lattice)
df<-data.frame(x=x1,y=y1,z=z)
levelplot(z~x1*y1,df,cuts=9,col.regions=grey.colors(10)[10:1])
但不可否認,這看起來不太漂亮。可能更好的方式來表示數據是交互式 3D散點圖,可以使用rgl
包生成,如下所示。對於這個圖表I中使用的功能從「R圖形食譜」由溫斯頓昌繪製垂直藍線:
library(rgl)
plot3d(x1,y1,z, size=1,type="s")
interleave <- function(v1,v2) as.vector(rbind(v1,v2))
segments3d(interleave(x1,x1), interleave(y1,y1), interleave(z,0),alpha=0.4,col="blue")
planes3d(a=0,b=0,c=1,d=0,alpha=0.1)
由於OP說得很清楚,無插補被需要,我避免從發佈簡單的可能性來顯示這樣的連續的熱圖,即使我認爲對於這種類型的數據集,插入數據通常是有意義的。
實際上,我在理解使用熱圖(在我看來本質上是2D對象)的過程中遇到了一些困難,這些熱圖應用於無結構的斷點集合。
那些最後ggplots都很好 – jenesaisquoi