如果您只需要一条红色阴影曲线,请尝试在您的 persp 函数中添加一个col参数:
persp(TestMatrix,
theta = 30, phi = 30, expand = 0.19, scale=FALSE,
shade=0.4, col="red", border="blue",
box=FALSE)
编辑:
感谢您的编辑,我不确定您是否需要双色图。这里有一个关于这个问题的问题:Create 3D Plot Colored According to the Z-axis。您需要一个颜色矩阵来指定曲面每个面的颜色。 subtil点是计算每个面中间的高度(z),即网格的四个顶点的平均值(对应于z值)。
根据您的图表调整答案,解决方案可能是这样的:
# Color palette (100 colors)
col.pal<-colorRampPalette(c("blue", "red"))
colors<-col.pal(100)
# height of facets
z.facet.center <- (z[-1, -1] + z[-1, -ncol(z)] + z[-nrow(z), -1] + z[-nrow(z), -ncol(z)])/4
# Range of the facet center on a 100-scale (number of colors)
z.facet.range<-cut(z.facet.center, 100)
persp(x, y, z,
theta = 30, phi = 30, expand = 0.19, scale=FALSE,
shade=NA, col=colors[z.facet.range], border="grey80",
box=FALSE)