R 中有吸引力的 3D 绘图

2023-11-26

我正在写一个提案,需要一个像这样的 3D 绘图:

enter image description here

但最好更具吸引力。我需要每个点的大小来反映物种的丰富度以及通过连接点创建的体积轮廓。

样本数据:

input<-data.frame(
label=c("sp1","sp2","sp3","sp4"),
trait_x=c(6,6,6,1),
trait_y=c(7,7,7,1),
trait_z=c(8,8,8,1),
point_size=c(6,7,8,1)
)
input
  label trait_x trait_y trait_z point_size
1   sp1       6       7       8        6
2   sp2       6       7       8        7
3   sp3       6       7       8        8
4   sp4       1       1       1        1

关于如何使这样的图表更具吸引力的任何建议(也许包括网格线?但是我不希望轴上有任何数字)

我玩过scatterplot3d,但它并没有绘制出我所有的观点,而且我个人发现立方体的外观很奇怪......就像它不太准确......

library(scatterplot3d)
x<-input$trait_x
y<-input$trait_y
z<-input$trait_z
scatterplot3d(x,y,z,xlim=c(0,10),ylim=c(0,10),zlim=c(0,10))

enter image description here


这应该可以帮助您开始使用包rgl。注意:重新阅读时,我发现我使用的 xyz 坐标与您使用的略有不同,但概念是相同的。

input<-data.frame( # I adjusted the values for better appearance in demo
label=c("sp1","sp2","sp3","sp4"),
trait_x=c(6,7,11,1),
trait_y=c(10,7,9,1),
trait_z=c(4,7,6,1),
point_size=c(6,7,8,1)
)
names(input) <- c("name", "x", "y", "z", "radius")
input$radius <- input$radius*0.2

require("rgl")

spheres3d(input[,2:4], radius = input[,5], col = c("red", "green", "blue", "orange"), alpha = 0.5)
axes3d(box = TRUE)
title3d(xlab = "x_trait", ylab = "y_trait", zlab = "z_trait")
text3d(input[1,2:4], texts = "species X")
# next line is clunky but you can do it more elegantly
segs <- rbind(input[1:2,2:4], input[2:3,2:4], input[3:4,2:4], input[c(4,1),2:4])
segments3d(segs)

现在您可以交互式地旋转图表,然后使用rgl.snapshot获得硬拷贝(在 spheres3d 中使用抗锯齿参数将改进图表)。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中有吸引力的 3D 绘图 的相关文章

  • 如何仅剪切剪切平面的交集(而不是并集)?

    在 OpenGL JOGL 中 当使用多个剪切平面时 似乎会应用所有剪切平面的并集 我想要的是路口要应用的所有剪裁平面 这可能吗 请参阅下面的简化二维示例 Edit An example of clipping by vertex shad
  • 关闭 Löve2D 中的抗锯齿功能

    我在用着L ve2D http love2d org用于编写一个小游戏 L ve2D 是 Lua 的开源游戏引擎 我遇到的问题是 当您在非整数位置绘制精灵时 某些抗锯齿过滤器会自动应用于精灵 love graphics draw sprit
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 平滑连续 2D 点

    UPDATE 感谢 user20650和 李哲源Zheyuan Li 这是我想出的解决方案 Example data set df 3600 observations points Create a vector of the cumula
  • 是否有用于绘制图表的Python API(使用线条连接两个列表之间的相应值)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Given two lists which contain same elements of strin
  • 如何在Rstudio中快速给几个单词加上引号?

    如何将 MI ID FL 转换为 MI ID FL 而无需键入每个双引号 Hmisc 包有一个函数 Cs 它将评估逗号分隔的文本是否带有引号 Cs MI ID FL becomes MI ID FL
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • rvest 函数 html_nodes 返回 {xml_nodeset (0)}

    我正在尝试抓取以下网站的数据框 http stats nba com game 0041700404 playbyplay http stats nba com game 0041700404 playbyplay 我想创建一个表格 其中包
  • HTTR GET 新错误:SSL 证书问题:证书已过期

    我已经运行这段代码几个月了 没有出现任何问题 今天我突然开始在我的两台 AWS 服务器上收到以下错误消息 错误 curl curl fetch memory url handle handle SSL证书问题 证书已过期 当尝试运行以下代码
  • 无法编译包“maps”

    当我安装 maps 包时 安装中出现警告 ld warning ignoring file Library Developer CommandLineTools SDKs MacOSX10 14 sdk usr lib libSystem
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • 安装 2.15 后 ggplot2 中的 alpha 通道不起作用

    更新到 R 2 15 后 ggplot 中的 alpha 通道似乎不再起作用 plot rnorm 100 rnorm 100 bg cc000055 pch 21 工作得很好但是 qplot rnorm 100 rnorm 100 col
  • 如何使用边缘和内部镶嵌因子完成三角形面片镶嵌?

    I am just learning tessellation and i came across with below example for triangle patch tessellation but i am not sure h

随机推荐

  • 沙盒环境中 FinderSync 扩展的读写访问权限

    场景 用户右键单击 Finder 中的目录并找到自定义菜单项 单击该项目将告诉我的应用程序打开一个窗口 用户可以在其中完成工作 完成后 需要将文件写入他通过右键单击选择的文件夹 问题 我现在一切都开始工作了 除了最后一部分 扩展程序无法写入
  • Django:如何在通用创建视图上设置隐藏字段?

    我正在运行 Django 1 6 x 为了扩展我的用户 我添加了另一个存储数据的模型 class UserProfile models Model user models ForeignKey User height models Inte
  • 如何在 recyclerview viewholder 中处理许多不同的视图类型

    如果我有 50 种视图怎么办 我的适配器中应该有 50 个静态内部类吗 根据这个答案 yes 我的第一个想法是将每个视图持有者内部类移动到一个单独的公共类中 但它们必须是静态的 那么将每个都封装成一个公共类 使内部类静态 有更好的选择吗 编
  • 使用一个 NPM 命令启动 React-create-app 和 Electron.js

    我有简单的定制入门包react create app and Electron js 我已添加到 package json 文件 scripts electron electron start cross env BROWSER none
  • Rails:使用 Gmail API 发送电子邮件,附件仅返回编码文件而不返回

    我正在尝试使用 gmail API 发送电子邮件 我的 Ruby 代码如下所示 无需附件即可正常运行 client google client user id token Token find by user id user id acce
  • Java HashMap 性能优化/替代方案

    我想创建一个大的 HashMap 但put 性能不够好 有任何想法吗 欢迎其他数据结构建议 但我需要 Java Map 的查找功能 map get key 就我而言 我想创建一个包含 2600 万个条目的地图 使用标准 Java HashM
  • 如何在 C++ 中从文本文件的开头删除字符“”?

    我正在尝试读取一个文本文件 对于每个单词 我会将它们放入二叉搜索树的节点中 但是 第一个字符始终读作 第一个单词 例如 如果我的第一个单词是 This 那么插入到我的节点中的第一个单词是 This 我一直在论坛上寻找修复它的解决方案 有一篇
  • 可见性:隐藏和显示:无之间的性能差异

    我想简化 jQuery Backbone js Web 应用程序中的事情 其中一种简化是我的菜单和对话框小部件的行为 之前我在开始时创建了菜单的 div 框并使用隐藏它们display none opacity 0 当我需要菜单时 我将其样
  • Django 是同步还是异步?

    Django 是同步还是异步 我想知道 Django 框架是同步的还是异步的 我听说过面试问题 他们询问你正在使用的框架是同步还是异步 所以我想知道它的含义同步和异步在网络开发方面 Django 本身是同步的 每个 HTTP 请求都将完全同
  • 如何处理const对象中非常量引用成员的初始化?

    假设你有课 class C int i public C int v i v void method const this method does not change i void method this method changes i
  • 让音乐应用程序在后台、iOS 和 Android 中保持活力?

    我正在使用 Flutter 构建一个音乐播放应用程序 它帮助我作为一个开发人员为两个平台构建一次应用程序 然而 我在这两个平台上分别遇到了一些问题 尽管我已经克服了其中一些障碍 但我就是无法找出一个主要的错误 问题 这些错误 问题只会使制作
  • 使用Spring Boot处理MultipartException并显示错误页面

    我使用 Spring Boot 设置了一个非常简单的文件上传 我想知道是否有一种简单的方法可以在超过最大文件大小时显示错误页面 我上传了一个非常简单的示例来说明我想要实现的目标在 github 上 基本上 这个想法是在全局 Spring 异
  • 使用 Google Webfonts 时 Outlook 中的 CSS 字体堆栈替换问题

    在 HTML 电子邮件中使用 Google Webfonts 时 我在 Outlook 2007 2010 等 中遇到了字体替换问题 这些问题在合并 webfonts 之前不会发生 它会忽略字体堆栈并直接转到 Times 尽管使用内联后备字
  • Android 10 中访问 /proc/net/arp ARP 表的权限被拒绝

    使用 ARP 表 我们可以访问 Android 9 及更早版本中热点连接设备的 IP 和 MAC 现在 从 Android 10 开始 同样的权限被拒绝 请建议我如何在 Android 10 中访问已连接设备的 IP 和 MAC 地址 下面
  • Scipy 的优化曲线拟合限制

    有什么方法可以为 Scipy 的优化曲线拟合提供限制吗 我的例子 def optimized formula x m 1 m 2 y 1 y 2 ratio 2 return log x 0 m 1 m 2 1 x 1 max age 1
  • 启用 Log4J2 + Apache HttpClient 的调试日志记录

    我试图激活我的 Apache HttpClient 的调试日志记录 但无法使其工作 根本没有获得与 HttpClient 相关的日志输出 这是我目前使用的 log4j2 配置
  • 映射列表,除了最后一个列表元素

    如何最好地映射列表中除最后一个列表元素之外的所有元素 假设我们有一个清单let l 1 2 3 4 并想要得到 2 3 4 4 我确实有一个解决方案 但感觉不像 功能 方式 在 ghci 中 let l 1 2 3 4 let len to
  • URL 重写以在 url 开头添加目录

    在我的网站上 所有图像 样式表都位于 CMS 目录中 最近 我们的网站转移到新服务器的临时网址 他们引用了 newdirectory CMS 我们如何将 newdirectory 附加到所有 CMS 调用 在 的里面 htaccess fi
  • FD_CLOEXEC fcntl() 标志有什么作用?

    Like so if fcntl fd F SETFD FD CLOEXEC 1 虽然我读过man fcntl 我不明白它有什么作用 它设置了执行时关闭文件描述符的标志 这会导致文件描述符在任何时候自动 并且原子地 关闭exec 家庭功能成
  • R 中有吸引力的 3D 绘图

    我正在写一个提案 需要一个像这样的 3D 绘图 但最好更具吸引力 我需要每个点的大小来反映物种的丰富度以及通过连接点创建的体积轮廓 样本数据 input lt data frame label c sp1 sp2 sp3 sp4 trait