假设一个整数值为m
的矩阵:
m <- matrix(sample(1:10, 100, replace = TRUE), nrow = 10)
给出一个将这些值从1映射到10的颜色的调色板,如何在带有OpenGL图形的R中显示矩阵m
作为热图,例如使用rgl
包? (最好以最有效的方式。)
答案 0 :(得分:1)
非常详尽的答案here表明,这可能不是您想要的;您可能想将下面的解决方案与此处基准的其他解决方案进行比较。尽管如此:
设置数据和颜色图
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()
来清除上一个表面...