如何在R中根据人体gif制作热图? [复制]

2023-12-07

我有一张人体 gif,需要在其上绘制热图。要使用的数据在R中

我找到了有关如何导入 gif 的说明,但我不确定如何将数据导入到 gif 中。

我想我需要首先将 gif 放在网格上,然后获取一些坐标,然后将数据分配给相关坐标?

例如,如果头部位于 (5,10) 处,胃位于 (5,5) 处,右膝位于 (4,3) 处,等等。

人们是否有一个用于此目的的包,或者这只是一个在没有包的情况下严格使用 R 进行编程的任务?或者你使用其他资源吗?


如果您找到可以使用的 SVG 图像,也可以使用grImport包以将文件转换为 XML,然后可以轻松使用 R 进行修改。

例如,如果您想使用这个文件,你可以添加一些fill使用 Illustrator/Gimp 或其他任何工具对图像进行形状处理然后使用将其转换为 XMLgrImport:

library(grImport)
PostScriptTrace("yourimage.ps")

这将创建一个yourimage.ps.xml文件。如果您愿意,可以修改idsXML 中的填充路径节点的名称,以便更轻松地访问它们以更改颜色。

例如,我在 SVG 文件上制作了 14 个身体部位,并将它们的 id 更改为名称而不是数字,您可以在此处找到 XML:带有身体部位 XML 的人体 SVG

要改变身体部位的颜色,你只需改变rgb的一部分fill nodes:

library(grImport)
library(XML)
library(gridExtra)

#function to change the rgb color of the xml paths
changeColor<-function(bodypart,color){
        node<-xpathSApply(doc, paste("//path[@id='",bodypart,"']/context/rgb",sep=""))[[1]]
        rgbCol<-col2rgb(color)
        xmlAttrs(node)["r"]=rgbCol[1]/255
        xmlAttrs(node)["g"]=rgbCol[2]/255
        xmlAttrs(node)["b"]=rgbCol[3]/255
}

#read the xml image
doc<-xmlParse("Human_body_front_and_side.ps.xml")

#these are the different parts you can change
bodyparts<-c("head","hand-right","hand-left","foot-left","foot-right","lowerleg-left","lowerleg-right",
            "upperleg-left","upperleg-right","torso","forearm-right","forearm-left","upperarm-right","upperarm-left")

#color the bodyparts with random color
mapply(function(x,y){changeColor(x,y)},bodyparts,sample(colours(), 14))


#load the XML as a picture
body<-readPicture(saveXML(doc))

#plot it
grid.arrange(pictureGrob(body), ncol=1)

我得到这样的东西:

enter image description here

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

如何在R中根据人体gif制作热图? [复制] 的相关文章

  • knitr pandoc:“无法使用 pdf writer 生成 pdf 输出”

    Up front using pandoc 在knitr中 当尝试将 md或 Rmd编译为PDF时 它会抱怨 我正在简化流程可重复的研究 正如许多地方所记录的那样 我在用着pandoc and knitr并制作出色的文档 我还试图为一些不太
  • R 绘制一些 unicode 字符,但不绘制其他字符

    我们的系统管理员刚刚将我们的操作系统升级到 SLES12SP1 我重新安装了 Rv3 2 3 并尝试绘图 我用cairo pdf并尝试绘制 x 标签为的图 u0298即太阳能符号 但它不起作用 标签只是空白 例如 cairo pdf Rpl
  • igraph - 将文本添加到社区图

    使用下面的代码 我可以在 igraph 提供的 空手道俱乐部 示例中生成社区图 请参见第一张图片 library igraph karate lt make graph Zachary wc lt cluster walktrap kara
  • 在 R 中调用“boot”时没有数据

    我有一个包含很多列的数据框 第一列包含 系统 1 系统 2 等类别 第二列包含代表 0 和 1 的数字 请看下面 例如 SYSTEM Q1 Q2 S1 0 1 S1 1 0 S2 1 1 S2 0 0 S2 1 1 我在 R 中有这段代码来
  • 我们可以有更多错误(消息)吗?

    在 R 中 如果函数使用变量 有没有办法弹出错误消息 未在函数体内声明 即我希望有人标记这种类型的函数 aha lt function p return p n 看 如果某个地方碰巧有一个 n 变量 aha p 2 会给我一个 答案 因为
  • 没有适用于“filter_”的方法应用于类“c('double', 'numeric')”的对象

    使用下面的代码 我尝试过滤我的数据集 以便仅选择 CG less14 0 和 CG High14 0 的数据集 我收到错误 没有适用于 filter 的方法应用于 c double numeric 类的对象 我的代码有问题吗 married
  • 同心放射圆 d3

    我有一个等距值的数组 我用它来绘制同心圆 我想使用一种散发效果 本质上是 一旦最外面的圆的值超过最大值 就将其删除 并在中心添加一个新的圆来补偿 我不确定如何操作数据集来删除和添加新圆圈
  • 在 R 中,将一列值与所有其他列进行比较

    我对 R 非常陌生 我有一个问题对于这里的专家来说可能非常简单 假设我有一个表 sales 其中包含 4 个客户 ID 123 126 和 4 个产品 A B C D ID A B C D 123 0 1 1 0 124 1 1 0 0 1
  • 在 ggplot2 中隐藏单个几何图例

    我将相同的变量 颜色 映射到两个不同几何图形中的颜色 我希望它们要么出现在单独的图例中 DHJ 和 EFI 要么最好完全跳过第二个图例 对于 E F 和 I 目前 R 将两者混合在一起 并给我一个图例 其中按字母顺序列出了 DEFHIJ 所
  • 在 R 中提取栅格的最快方法(提高我的可重现代码的时间)

    我想知道我是否已最大化提取栅格中某个点周围缓冲区域平均值的速度 本地的性能可以进一步提高吗 I use parallel mclapply已经 我知道我可以通过在集群上设置和运行它来获得进一步的收益 使用集群或获得更多的CPU不是我正在寻找
  • 是否有一个 R 函数可以获取 n 个对象取 k P(n,k) 的排列数?

    或者我必须给予 P nk lt factorial n factorial n k or P nk lt choose n k factorial k 谢谢 我不知道任何现有的功能 如果 n 较大 您的第一个建议将会失败 当编写为函数时 你
  • Shiny:合并 DT::datatable 中的单元格

    我想以闪亮的方式合并 DT datatable 列中的几行 可以这样做吗 目前我能够输出如下所示 但理想情况下 我想合并行并希望输出如下所示的内容 是否可以在 DT datatable 中合并这样的行 在以下人员的帮助下这是可能的数据表行组
  • 在 data.table 1.9.4 或更早版本上,按字符串键 `order(-x,v)` 对 data.table 中的行进行降序排序会出现错误

    假设我有以下内容data table in R library data table DT data table x rep c b a c each 3 y c 1 3 6 v 1 9 我想按两列排序 例如列x and v 我用过这个 D
  • 如何更快地渲染我的数组?

    我一直在研究一个nonogram https en wikipedia org wiki NonogramJava 中的求解器 我的所有算法都运行良好 但我在可视化方面遇到了一些困难 在算法执行期间 我可以访问两个 解决方案数组 一种是类型
  • 在 ggplot2 中使用 FontAwesome 作为点的替代品

    这可能是一个相当基本的事情 但我似乎找不到有意义的答案 我正在尝试使用 R 中的 fontawesome 包将表情符号用作 ggplot2 图表中的点 但我很难弄清楚如何为每个变量分配不同的表情符号 这是一些示例数据 我们将数据框称为 样本
  • 在 RStudio 中自动格式化 R 代码

    RStudio 中是否有自动格式化代码的可能性 I found this https stackoverflow com questions 3017877 tool to auto format r code 但未与RStudio连接 还
  • R:读取多个Excel文件,提取第一个工作表名称,并创建新列

    我有多个 Excel 文件 并且它们具有唯一的工作表名称 在我的情况下是文件创建日期 我批量阅读它们 需要将工作表名称分配给新列 id 中的每个文件 我知道如何制作数字 id 或 id 文件名 但找不到将工作表名称获取为 id 的方法 li
  • R - 数据框列中唯一值的数量

    对于数据框df 我需要找到的唯一值some col 尝试了以下方法 length unique df some col 但这并没有给出预期的结果 然而length unique some vector 对向量进行处理并给出预期结果 创建 d
  • 从数据框中提取具有最高值和最低值的行

    我对 R 还很陌生 我主要用它来可视化统计数据ggplot2图书馆 现在我遇到了数据准备的问题 我需要编写一个函数 该函数将从数据框中删除指定列中具有最高和最低值的一些数字 2 5 或 10 行 并将它们放入另一个数据框中 并对两个因素的每
  • R 中的因素:不仅仅是烦恼?

    R 中的基本数据类型之一是因子 根据我的经验 因素基本上是一种痛苦 我从不使用它们 我总是转换为字符 我感觉很奇怪 好像我错过了什么 是否有一些使用因子作为分组变量的函数的重要示例 其中因子数据类型变得必要 当我should使用因素 你应该

随机推荐

  • 使用 shell_exec('passwd') 更改用户密码

    我需要能够通过网页 在受控环境中 更改用户的密码 因此 为此 我使用以下代码 我的问题是该脚本没有更改用户 testUser 的密码 我究竟做错了什么 Thanks 另一种选择是使用一个 shell 脚本 比如名为 passwd chang
  • 在 C# 中使用 newtonsoft 查找并返回 JSON 差异?

    我想获得使用 Newtonsoft 进行比较时不匹配的 JSON 部分的列表 我有这个比较代码 JObject xpctJSON JObject Parse expectedJSON JObject actJSON JObject Pars
  • 编译静态版QT + OpenSSL 支持

    我从这里下载了 qt everywhere opensource src 5 8 0 的源文件 https download qt io snapshots qt 5 8 5 8 0 latest src 我想编译它并支持静态版本的 QT
  • 自动重命名视频文件

    我有很多文件想要重命名 手动重命名需要很长时间 它们是视频文件 通常采用以下格式 节目名称 剧集编号 剧集名称 例如 绝命毒师 101 Pilot 我想做的是将 101 部分更改为我自己的约定 S01E01 我认为在一系列节目中 该字符串的
  • 无法在 Windows 中安装 Pylint - python?

    我是Python新手 我在Windows上安装了Python 位于以下目录中C Program Files Python36 我在用vscode当我尝试在 IDE 中运行以下命令时integrated terminal C Program
  • 使用 HTML 和 CSS 在第一个打印页面上显示不同的页眉

    是否可以使用 HTML 和 或 CSS 的任意组合在第一个标题上显示一个标题printed页面然后显示不同的每个后续的标题printed页 我知道关于 media printCSS 标记仅在打印站点时显示某些内容 但这并不能让我在多个页面上
  • 使用 javascript 移动元素

    使用 JavaScript 移动元素的最佳实践是什么 您使用超时或间隔吗 事件定时为 10 毫秒是不好还是会更精确 您是逐像素移动还是总距离的某一部分移动 如果使用间隔 当元素就位时如何停止间隔 我最近两次在 javascript 中看到运
  • Chris Banes 实施 ActionBar-PulltoRefresh、库错误等

    继我之前关于在我的项目中从 github 导入某个库的问题之后 我决定实现一个不同的库 但此时我遇到了很多错误 导入Android Listview通过pull刷新 项目属性错误 与 Google 目前使用 Chris Banes 的 Ac
  • 通过jQuery更改img src:图像不会刷新

    我正在尝试通过 Phonegap Build 应用程序中的 jquery 动态更改 src 如下所示 photo profile attr src fullPath one load function evt console log loa
  • 在带有 extrafont 包的 .eps 图中使用 Arial 时出错

    我在 R 中使用 ggplot2 为出版物生成图形 其中所有图形都需要为 eps 格式 所有字体都需要为 Arial 我一直在关注本指南使用 extrafont 包来做到这一点 据我了解 该行loadfonts device postscr
  • 使用 java 访问嵌套 JSON 对象值

    files f1 png intext A inval 0 inbinary false f2 png intext A inval 0 inbinary true 当f1 png值不固定时如何访问inval的值 即文件名可以是任何名称 它
  • 从 Windows 服务启用/禁用 Aero

    我有一些代码可以在 Vista 中启用 禁用 Windows Aero 服务 并且我想在 Windows 服务中运行它 该代码在独立应用程序中运行 但是当我从服务运行它时 什么也没有发生 不会引发任何错误或异常 我意识到在服务中运行代码与在
  • 使用 ScalaTest 时出现 java.lang.NoSuchFieldError

    我在使用 ScalaTest 时遇到了一个很难调试的错误 奇怪的是 当我的程序没有 Main 对象时 似乎会发生这种情况 但当它有 Main 对象时 却不会发生这种情况 我的代码实际上只是使用带有多态方法的类型类从列表中获取切片 看起来像这
  • 一个用户数据库为多个应用程序数据库提供服务

    我正在管理一个相当大的数据库 该数据库的复杂性和设计都从单个应用程序数据库开始增长 现在计划添加第五个应用程序 该应用程序带有自己的模式和特定数据 我一直在研究 SSO 解决方案 但这并不是我真正想要的 我的目标是拥有一个客户注册 登录和授
  • 使用 Coldfusion SpreadsheetWrite 和 cfscript 创建多个工作表

    我想使用 CF9 SpreadsheetWrite 和 cfscript 创建一个包含两张表的 Excel 文件 就像是 var data spreadsheetNew data var key spreadsheetNew key spr
  • 比较 XML 时如何忽略某些元素?

    我有一条 XML 消息 如下所示
  • MYSQL 未启动(InnoDB:插件初始化因错误通用错误而中止)

    我重新启动了服务器 因为它冻结了 可能是迄今为止我做过的最愚蠢的事情 然后出现了一些内部服务器错误 我很快发现mysql启动失败 service mysql status 我读了mysql错误日志 Pastebin 并开始谷歌搜索 我正在运
  • 标准布局和尾部填充

    David Hollman 最近在推特上发布了以下示例 我对其进行了稍微简化 struct FooBeforeBase double d bool b 4 struct FooBefore FooBeforeBase float value
  • Postgres 函数结束循环并返回错误

    我尝试创建这个函数 但系统返回 循环错误 并且我不知道如何同时返回 3 个变量 我很努力地想弄清楚这个问题 但我没有在任何地方找到答案 CREATE OR REPLACE FUNCTION conta relatos fator norma
  • 如何在R中根据人体gif制作热图? [复制]

    这个问题在这里已经有答案了 我有一张人体 gif 需要在其上绘制热图 要使用的数据在R中 我找到了有关如何导入 gif 的说明 但我不确定如何将数据导入到 gif 中 我想我需要首先将 gif 放在网格上 然后获取一些坐标 然后将数据分配给