r - rgl 曲面图的颜色随高度 (z) 变化
问题描述
我有一个排列为表面的 x、y 和 z 值(19,268 个值)矩阵。我使用以下方法绘制了表面:
rgl::surface3d(mat$x, mat$y, mat$z, color="grey")
但是,我希望颜色随高度(我的 Z 值)而变化。z 值范围为-1.377385 to 29.93678
.
如何使我的绘图颜色随高度变化?
解决方案
您还没有给出可重现的示例,所以我不知道这些结果是否令人满意,但总体思路是,color
参数可以是与 形状相同的数组z
,并且将在相应的位置使用这些颜色。
例如,
library(rgl)
x <- y <- seq(-1, 1, len=20)
x <- x + 0.5 # to distinguish it from y
z <- outer(x, y, function(x,y) x^2 + y^2)
col <- rainbow(10)[cut(z, breaks = 10)]
surface3d(x, y, z, color = col)
这为每种颜色变化提供了相当粗糙的边缘;您可以通过使用更精细的网格或更多颜色来改进它。
推荐阅读
- c - 如果在for循环中,如何检查数组输入是否为正
- java - 如何从 gradle 项目依赖项中排除 META-INF?
- python - 如何计算 PyTorch 张量的第二维中 1 和 0 的数量?
- r - 如何根据R中一列的最终数字删除一行?
- parsing - lex INDENT 和 DEDENT 传递给 Earley 的高效方法?
- kotlin - 为什么 Kotlin 中 Room 的查询功能不需要添加suspend关键字?
- node.js - Twilio 没有为可编程消息显示错误
- sql - 使用空白 NVARCHAR 或 NULL 检查 VARCHAR 索引上的 Count(*) 导致返回的行数翻倍
- angular - 检测慢速网络 Angular 9
- javascript - 我无法让特定的“按钮”打开特定的 youtube“iframe”