r - R:3D 散点图未显示在 Web 浏览器中
问题描述
在我创建自己的一些 3D 散点图之前,我正在尝试按照这里的教程进行操作。
# library
library(rgl)
options(rgl.printRglwidget = TRUE)
# This is to output a rgl plot in a rmarkdown document. Note that you must add webgl=TRUE, results='hide' in the chunck header
library(knitr)
knit_hooks$set(webgl = hook_webgl)
# Data: the iris data is provided by R
data <- iris
# Add a new column with color
mycolors <- c('royalblue1', 'darkcyan', 'oldlace')
data$color <- mycolors[ as.numeric(data$Species) ]
# Plot
par(mar=c(0,0,0,0))
plot3d(
x=data$`Sepal.Length`, y=data$`Sepal.Width`, z=data$`Petal.Length`,
col = data$color,
type = 's',
radius = .1,
xlab="Sepal Length", ylab="Sepal Width", zlab="Petal Length")
writeWebGL( filename="3dscatter.html" , width=600, height=600)
但是,在这样做之后,似乎发生了两件事。首先,我收到以下警告:
Warning messages:
1: In snapshot3d(scene = x, width = width, height = height) :
webshot = TRUE requires the webshot2 package; using rgl.snapshot() instead
2: In rgl.snapshot(filename, fmt, top) :
this build of rgl does not support snapshots
我不知道这是什么意思,snapshot
因为这不在我的代码中。第二件事是在我运行之后,一个名为的文件3dscatter.html
出现在我的工作目录中,但是我转到浏览器,我没有看到我的情节。Javascript 已启用。有人可以帮我弄清楚我在这里缺少什么吗?
解决方案
@IRTFM 的建议奏效了。我换了行:
writeWebGL( filename="3dscatter.html" , width=600, height=600)
和
htmlwidgets::saveWidget(rglwidget(), filename)
推荐阅读
- procmail - 如何使用 procmail 正确地将电子邮件正文转换为标量变量
- assembly - 内存地址和数组,汇编 x86
- variables - Power BI DAX:基于变量过滤器的两个表之间的交叉连接
- generics - 如何将闭包对象存储在结构中?
- jquery - 引导轮播 - 尝试一次使用 6 列,但只显示 3 列
- ios - 获取用户作为指针时访问用户名属性时出现PFUser错误
- flutter - FutureBuilder - 在构建错误期间调用 setState() 或 markNeedsBuild()
- python - 使用 POST 方法时检查多个唯一列(RestAPI)
- python - 具有新旧点的连续循环上的 2D 点识别/匹配
- arrays - 数组和分组对象的PowerShell问题