标签: rgl

与knitr的动画rgl图表

我希望rgl在我的.Rnw文档中包含动画图表knitr.这是我的MWE:

\documentclass{article}

<< label = setup, include = FALSE>>=
opts_chunk$set(fig.path = 'figure/',  cache = FALSE, dev = "pdf",  fig.align = 'center', fig.show = 'hold', fig.width = 3, fig.height = 3,  echo = TRUE, warning = FALSE, message = FALSE, size = 'footnotesize', comment=NA, results='hold')

knit_hooks$set(par = function(before, options, envir){
if (before && options$fig.show!='none')
 par(mar = c(4, 4, 0.1, 0.1), cex.lab = 0.95, cex.axis = 0.9, mgp = c(2, 0.7, 0), tcl = -0.3)
} …
Run Code Online (Sandbox Code Playgroud)

animation r rgl knitr rnw

58
推荐指数
1
解决办法
1459
查看次数

与xyz坐标的3d表面图

我希望有经验的人可以帮助我们如何从xyz数据中准备形状文件.虽然没有提供创建形状文件的前面步骤,但可以在这里看到彗星Churyumov-Gerasimenko 的精心准备的数据集的一个很好的例子.

我试图更好地理解如何将曲面应用于给定的XYZ坐标集.使用笛卡尔坐标是直接使用R包"rgl",但是环绕的形状看起来更难.我找到了R包geometry,它提供了QHULL函数的接口.我尝试使用它来计算Delaunay三角剖面,然后我可以用它绘制rgl.我无法弄清楚与该功能相关的一些选项delaunayn,可能控制这些方面的最大距离.我希望这里有人可能对xyz数据改进表面结构有一些想法.

使用"Stanford bunnny"数据集的示例:

library(onion)
library(rgl)
library(geometry)
data(bunny)

#XYZ point plot
open3d()
points3d(bunny, col=8, size=0.1)
#rgl.snapshot("3d_bunny_points.png")

#Facets following Delaunay triangulation
tc.bunny <- delaunayn(bunny)
open3d()
tetramesh(tc.bunny, bunny, alpha=0.25, col=8)
#rgl.snapshot("3d_bunny_facets.png")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这个答案让我相信Qhull的R实现可能存在问题.此外,我现在尝试了各种设置(例如delaunayn(bunny, options="Qt")),效果甚微.Qhull选项在此处列出

编辑:

这是一个额外的(更简单的)球体示例.即使在这里,小平面的计算并不总能找到最近的相邻顶点(如果你旋转球,你会看到一些小平面穿过内部).

library(rgl)
library(geometry)
set.seed(1)
n <- 10
rho <- 1
theta <- seq(0, 2*pi,, n) # azimuthal coordinate running from 0 to 2*pi 
phi <- seq(0, pi,, n) # polar …
Run Code Online (Sandbox Code Playgroud)

3d plot r rgl qhull

42
推荐指数
2
解决办法
4672
查看次数

安装rgl包时出错

我在这里看到了这个问题:使用Mac OS X加载rgl包时出错,但没有提到安装错误,这是我的情况.我无法rgl使用以下命令安装软件包R:

source("http://bioconductor.org/biocLite.R")
biocLite("rgl")
Run Code Online (Sandbox Code Playgroud)

显示以下错误:

source("http://bioconductor.org/biocLite.R")
biocLite("rgl")
Run Code Online (Sandbox Code Playgroud)

我检查了这个地址/Library/Frameworks/R.framework/Versions/3.2/Resources/library,没有rgl文件夹,所以我不能删除aglrgl.so(或rgl.so),这是上述问题的答案.你能帮我解决这个安装问题吗?谢谢.

linux macos r rgl

41
推荐指数
5
解决办法
4万
查看次数

包括带编织的交互式3D图形

使用knitr它可以rglRmarkdown源文件的html文档中嵌入3D图形:

```{r setup}
library(rgl)
knit_hooks$set(rgl = hook_rgl)
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
```

```{r, rgl=TRUE}
plot3d(x, y, z, col=rainbow(1000))
```
Run Code Online (Sandbox Code Playgroud)

但是html文档中的3D图形不是交互式的.是否有可能获得交互式3D图形?包的writeWebGL()功能rgl创建一个带有交互式3D图形的html文件,有没有办法直接包含这个HTML代码与Rmarkdown?否则如何手动包含此HTML代码?

更新24/06/2013

这是一个今天不起作用的示例(3D图形不会出现在Chrome中):

html r rgl knitr r-markdown

39
推荐指数
1
解决办法
1万
查看次数

R:从x,y,z绘制3D表面

想象我有一个3列矩阵
x,y,z,其中z是x和y的函数.

我知道如何绘制这些点的"散点图" plot3d(x,y,z)

但是,如果我想要一个表面,我必须使用其他命令,如surface3d问题是它不接受与plot3d相同的输入它似乎需要一个矩阵与

(nº elements of z) = (n of elements of x) * (n of elements of x)
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这个矩阵?我尝试使用命令interp,就像我需要使用等高线图时一样.

如何在不计算此矩阵的情况下直接从x,y,z绘制曲面?如果我的分数太多,那么这个矩阵就太大了.

干杯

3d plot r matrix rgl

31
推荐指数
4
解决办法
10万
查看次数

保存RGL plot3d()图的方向

我有一个使用RGL的3D图.我想用颜色制作相同的图来突出显示某些变量的分布.要做到这一点,我想有相同的情节,我如何找到和设置情节的方向?

一旦我做了一个初步的情节,我移动它找到一个很好的显示角度,我想保存这个角度,并将其纳入未来的绘图脚本.有人建议如何做到这一点?

library(rgl)
plot3d(iris) 
#play with the plot to find a good angle
#save the angle for future plots
Run Code Online (Sandbox Code Playgroud)

r rgl

26
推荐指数
1
解决办法
5054
查看次数

R:使用rgl生成可在Web浏览器中查看的3d可旋转图?

在R统计软件包的世界中,rgl允许我生成可以用鼠标旋转的3d图.有没有办法可以以便携式格式导出这些图表,将它们加载到网络浏览器或其他第三方工具中并在那里旋转它们?我对网络浏览器解决方案特别感兴趣,因为这将允许我在内部维基上共享图表.

如果rgl不允许这样做,是否有其他库或策略可以让我完成此操作?

browser 3d r rotation rgl

24
推荐指数
2
解决办法
1万
查看次数

在r中的3d表面地图上叠加地图

我使用rgl.surface()创建了一个3d地图,主要是按照Shane在这篇文章中的回答.使用我自己的数据,我得到了这张地图

在此输入图像描述

在这张表面地图的顶部,我想添加一张植被密度图,这样我就可以获得这样的东西(用Surfer软件获得):

在此输入图像描述

是否可以使用rgl执行此操作,或者对于r中的任何其他包或者是唯一的解决方案,有两个地图,如Shane的答案?

谢谢.

编辑:

根据@ gsk3的请求,以下是此地图的代码:

library(rgl)

# Read the z (i.e. elevation) dimension from file
z1 = matrix(scan("myfile.txt"),nrow=256, ncol=256, byrow=TRUE)
#create / open x y (i.e. easting and northing coordinates) dimensions 
y=8*(1:ncol(z)) # Each point is 8 m^2
x=8*(1:nrow(z))

# See https://stackoverflow.com/questions/1896419/plotting-a-3d-surface-plot-with-contour-map-overlay-using-r for details of code below
zlim <- range(z)
zlen <- zlim[2] - zlim[1] + 1
colorlut <- terrain.colors(zlen,alpha=0) # height color lookup table
col <- colorlut[ z-zlim[1]+1 ] # assign colors to heights for …
Run Code Online (Sandbox Code Playgroud)

r rgl

23
推荐指数
1
解决办法
4338
查看次数

使用Mac OS X加载rgl包时出错

我正在尝试在Mac OS X(Lion 10.7.3)下为R(2.14.2)安装rgl软件包(0.92.858).当我尝试加载它(库(rgl))时,我收到以下错误:

  Error : .onLoad failed in loadNamespace() for 'rgl', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so':
  dlopen(/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so, 6): Symbol not found: __ZN3gui13OSXGUIFactory12hasEventLoopEv
  Referenced from: /Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so
  Expected in: dynamic lookup
Run Code Online (Sandbox Code Playgroud)

我有一台带有挪威键盘的Mac.也许这与这个问题有关?但是,我得到了同样的错误,即使我将语言改为美国有没有人遇到过类似的问题?有什么办法解决它吗?

macos installation r package rgl

18
推荐指数
2
解决办法
3万
查看次数

获取rgl视图参数

虽然该view3d(theta, phi,...)功能可用于在拍摄3d图表/对象的快照时将观察点旋转到合适的位置,但很难猜测哪个θ和phi值是好的.

一旦显示图表,我们就可以交互式旋转它.但是,无论如何在手动旋转后找出图的theta和phi参数,这样我们就可以以编程方式使用它(即在创建应该具有相同视点的许多图时)?

3d r rgl

18
推荐指数
2
解决办法
3573
查看次数

标签 统计

r ×10

rgl ×10

3d ×4

knitr ×2

macos ×2

plot ×2

animation ×1

browser ×1

html ×1

installation ×1

linux ×1

matrix ×1

package ×1

qhull ×1

r-markdown ×1

rnw ×1

rotation ×1