问题标签 [rgl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3346 浏览

r - R中的彩色编码3D绘图

我是 R 新手,所以有人可以帮忙吗?

我有一个包含 4 列的数据框:x、y、z 和频率。这一帧中的一行代表 3D 空间中的一个点(x,y,z 分别是 x-,y- 和 z- 坐标)及其频率。我想绘制这些点并使这些点着色,以便颜色由频率决定。例如:频率为 0 的所有点都是蓝色的,1 到 5 之间是红色的,5 到 10 之间是橙色的,10 到 15 之间是黄色的等等。有些点的频率也可以为 0。但我不知道频率范围。最多可以使用 10 种颜色。此外,应该有一个刻度来解释颜色的含义。

我一直在尝试更正以下代码并使其工作,但它只是不工作:

请帮忙!谢谢你。

PS-请告诉使用 rgl 包 PPS 的解决方案 - 我一直在尝试操纵 rgl 包的 plot3d 函数中的 col 争论,但我无法获得所需的结果。

0 投票
2 回答
2864 浏览

r - 获得 R 上的样条曲面

如何生成 b 样条曲面,比方说:

将是样条基础的 x 和 y。z 是控制点的集合。

0 投票
1 回答
1165 浏览

r - 如何使用 rgl 绘制虚线/虚线

我正在尝试使用 rgl 绘制一些 3d 形状,但我想使用虚线/点线连接我的点。我怎样才能做到这一点?目前我有

所以lwd有效,但lty没有。我也试过lty="dashed"了,但没有用。

我本质上想绘制可以绘制的 3d 形状

  1. 轻松旋转/缩放(就像 rgl 给出的那样)
  2. 导出为矢量图形格式(如 rgl.postscript)
  3. 指定线型和颜色

如果有另一个包可以实现这一点,也请分享。谢谢。

0 投票
1 回答
1817 浏览

r - 通过'rgl.postscript'以'eps'或'pdf'格式保存'R'的绘图(为什么颜色会改变?)

我试图在“R”中运行此代码以绘制密度函数内核平滑,然后将该图保存为“eps”文件:

问题是,当我以 eps 格式保存绘图时,它只以一种颜色(黄色)显示绘图,而不是显示不同密度的多种颜色(黄色、橙色、红色......)......(绘图在 R 中很好,但是当我将其保存为 eps 时,颜色会改变)你知道这段代码有什么问题吗,或者你能介绍一下其他可以将我在 R 中生成的绘图保存为 pdf 或 eps 的函数吗? (因为它是一个交互式 RGL 图,我不能使用 pdf() 函数。我也尝试了 rgl.snapshot,但每次它崩溃并且似乎不起作用......以下是我的数据的一部分:(x,y,z点的位置)

0 投票
2 回答
1690 浏览

r - 如何使用'ks'和'rgl'从R中构建的3D内核密度图中提取值

我一直在使用“ks”包和“rgl”包来生成 3D 内核密度估计和这些的 3D 图。第一部分效果很好(下面的简短示例)。我无法弄清楚的是,是否可以首先提取用于构建内核的给定 xyz 位置的内核值。换句话说,提取 3D 图中点的值,类似于用于 'raster' 包中的 2D 表面的提取命令。有没有人有做这样的事情的经验可以为我指明正确的方向?非常感谢。-DJ

0 投票
0 回答
313 浏览

r - 在 R 中绘制 3D 对象,而不是表面

我想根据 -value 绘制具有颜色渐变的解剖结构的 3DZ图像

我已经搜索过有关此主题的先前帮助,例如在此处此处此处的 3D 表面上,但它似乎都处理具有均匀间隔XY值的数据集。此外,没有一个表面似乎在它们自己的下方返回。

在我正在处理的数据集中(下面的示例),只有X-values 是均匀分布的。

数据说明:

  1. 来自解剖结构的磁共振成像扫描。X图像编号也是如此。
  2. X, Y,Z包含每个点的坐标。
  3. Strand可用于定义金属丝网:
    • X从解剖结构的左侧到右侧单调增加。
    • 对于每个图像,从一个图像 ( ) 到下一个图像X有 12 个s。StrandX
    • Strand数字从 1 开始顺时针运行,然后到 12 以形成一个多边形。
    • 因此Strand12 直接在 1 旁边Strand
    • 最底部的图片显示Strand了每个数字中的数字如何排列X(图像)。

这个事情谁有经验?或者这只是在 R 中不可行?

对于任何给定的图像 ( X),12 个单独Y的 s 和Zs 定义了结构的外表面,并在结构周围排序:

显示 <code>Strand</code> 编号的示例图像

对于X=2 和Strand=1,曲面三角形可以定义为位于以下位置的点:

  1. 三角形

    • X=2, Strand=1
    • X=2, Strand=2
    • X=3, Strand=1
  2. 三角形

    • X=2, Strand=1
    • X=1, Strand=2
    • X=1, Strand=1
  3. 三角形

    • X=2, Strand=1
    • X=2, Strand=12
    • X=3, Strand=1
  4. 三角形

    • X=2, Strand=1
    • X=2, Strand=12
    • X=1, Strand=1

X1(第一张图像)和 12(最后一张图像)的 s 将是不同的设置,因为它们形成了对象的左右“墙”。

0 投票
1 回答
1638 浏览

r - 带有knitr的动画rgl图

我想通过在我的文档中包含动画rgl图表。这是我的 MWE:.Rnwknitr

我的针织文档中没有图表。

更新

我仍然无法让它工作并收到以下警告:

sessionInfo()的是

已编辑

更改fig.path = 'figure/'fig.path = ''inopts_chunk$set编译带有png图形但没有任何动画的文档。如何rgl使用fig.path = 'figure/'.

0 投票
0 回答
674 浏览

r - R,rgl,绘图点和椭圆

我正在使用 R 来可视化一些数据。我发现 RGL 是一个很棒的绘图点库。

其中 x = c(x1,x2, ...), y = c(y1,y2,...), z = c(z1,z2, ...) 和 x,y,z 的长度相同,是绘制大量数据集的绝佳功能。

现在,我想绘制与数据混合的椭圆。我通过中心点 C、描述长轴 U 的向量和描述短轴 V 的向量来表征椭圆。我通过以下方式获得椭圆边界上​​的点 P

获取向量 xt、yt 和 zt。然后我可以绘制椭圆

它工作正常,但我猜每个阅读的人都在畏缩,并会告诉我这是一个糟糕的方法。事实上,以这种方式渲染每个椭圆需要几秒钟。

我认为 RGL 包中的 ellipse3d 函数在这里不起作用。至少,我不是在处理协方差矩阵,我也不明白如何从这个函数中得到我想要的椭圆。此外,它返回一个椭圆体,而不是一个椭圆。

******编辑************

对于需要一段时间的具体示例:

输入所需的中心点、长轴和短轴。我只需要2秒多一点。另一方面,如果我将 t 更改为 0,20,40,... 340,那么它的工作速度非常快。

0 投票
1 回答
1762 浏览

r - 使用 plot3d 在单个绘图窗口中绘制多个 3D 图像

plot3d当我使用包中的几个 3D 图像绘制时rgl,图像会单独显示。我想在一个绘图中显示它们,例如par(mfrow=c(2, 2))在一个绘图窗口中显示四个 2D 图像时。

这可能吗?

0 投票
1 回答
84 浏览

r - 在 R 中使用 RGL 输入固定颜色输入向量

有什么方法可以将固定的颜色向量输入到任何 3Drgl图?如果是这样,则可以基于相同区域的栅格将地图图块拉伸到 3D 表面。但是我发现该surface3d函数的行为与raster::plot坚持将输入颜色向量映射到 z 变量相同。这是否超出了 rgl 目前的功能?