分享
R

用 R 一键构建交互式 3D 图形:rthreejs 帮你轻松实现 Web 可视化

rthreejs (opens in a new tab) 是一个将 Three.js (opens in a new tab) 封装为 R 语言模块的开源工具,基于 htmlwidgets 实现,可在 R Markdown、Shiny 等环境中直接使用。通过它,R 用户可以无需学习 JavaScript,即可构建、发布交互式 3D 图形。

一句话定义:rthreejs 是将 Three.js 封装为 R 接口的可视化工具,助你轻松打造交互式 Web 3D 图形。

核心特性与优势

  • 零 JS 基础也能上手:调用 R 接口即可生成 Three.js 场景,兼容 R Markdown、Shiny。

  • 支持 WebGL 加速:底层基于 Three.js,性能强劲,支持大型数据集实时渲染。

  • 内置常用图形模板:如地球、网络图、点云等图形可快速生成。

  • 可嵌入网页/仪表盘:生成结果为标准 HTML,可直接嵌入到网站或报告中。

  • 跨平台分享:可部署到 GitHub Pages 或 RStudio Connect,轻松发布可交互的分析结果。

快速上手

以下是使用 rthreejs 创建 3D 网络图的基本流程:

1. 安装 rthreejs

install.packages("threejs")

2. 加载库并运行一个示例

library(threejs)
 
# 创建一个简单的网络图
graph_data <- matrix(sample(0:1, 100, replace = TRUE), nrow = 10)
graphjs(graph_data)

实践案例展示

大家看下下面的官方案例,感受下可以实现的效果

案例一

案例二

案例三

案例四

总结

rthreejs 作为连接 R 语言与 Web 3D 可视化的桥梁,让数据分析师和开发者无需深入学习 WebGL 或 Three.js,就能实现丰富的交互式三维图形。它是数据可视化工具箱中的一件利器,尤其适合:

  • 想将 R 分析结果在线展示的用户

  • 希望节省前后端整合成本的项目团队

  • 对 3D 图形有需求但缺乏 JS 经验的科研人员

地址