假设一个矩阵m
整数值:
m <- matrix(sample(1:10, 100, replace = TRUE), nrow = 10)
给定一个将这些值从 1 到 10 映射到某些颜色的调色板,如何显示矩阵m
作为带有 OpenGL 图形的 R 热图,例如使用rgl
包裹? (最好以最有效的方式。)
非常彻底的答案here https://stackoverflow.com/questions/48119360/performant-2d-opengl-graphics-in-r-for-fast-display-of-raster-image-using-qtpain表明这可能不是您想要的;您可能想尝试下面的解决方案并与那里的其他基准解决方案进行比较。尽管如此:
设置数据和颜色图
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()
表面之间以清除先前的表面...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)