Очень подробный ответ здесь предполагает, что это может быть не то, что вы хотите; Возможно, вы захотите попробовать приведенное ниже решение в сравнении с другими решениями, сравниваемыми там. Тем не менее:
Настройка данных и цветовой карты
set.seed(101)
library(viridisLite)
vv <- viridis(10)
m <- matrix(sample(1:10, 100, replace = TRUE), nrow = 10)
Нарисуйте картинку:
library(rgl)
view3d(theta=0, phi=0) ## head-on view
par3d(zoom=0.7) ## (almost) fill window
surface3d(x = 1:10, y = 1:10, z = matrix(0, 10,10),
color = vv[m],
smooth=FALSE, lit=FALSE ## turn off smoothing/lights
)
Возможно, вам придется использовать pop3d()
между поверхностями, чтобы очистить предыдущую поверхность ...