使用 ggplot2 对多个梯度进行分组

2024-04-23

我对 R 还很陌生,所以如果答案显而易见,或者我的数据组织得不好,我深表歉意。

我试图绘制声音字符(熵)随时间的差异。我使用拍号信息将录音分成“回合”。我能够创建一个散点图,其中的线条对应于回合数 (0-9)。

代码看起来像这样:

newbout <- a$start_on
signal <- diff(newbout)

Faulkner <- data.frame(Time=a$start_on[1:length(signal)],Entropy=a$min_ent[1:length(signal)])
Gatsby <- data.frame(x=Faulkner$Entropy[2:length(Faulkner$Entropy)],
    y=Faulkner$Entropy[1:length(Faulkner$Entropy)-1],
    z=Faulkner$Time[1:length(Faulkner$Time)-1])
Gatsby$grp <- cumsum(signal[1:length(signal)-1]<0)

require(ggplot2)
require(grid)
b <- ggplot(Gatsby, aes(x = x, y = y)) + 
    geom_point(size = 2,aes(color=grp)) + 
    geom_path(aes(color=grp)) +
    xlab("Min entropy") + ylab("Min entropy") + ggtitle("a408 d136") + 
    theme(axis.text=element_text(size=10),
      axis.title=element_text(size=10), plot.title=element_text(size=10))
b

数据框本身如下所示:

        x     y           z grp
1   -3.90 -2.06   111.74600   0
2   -3.67 -3.90   224.49000   0
3   -3.08 -3.67   454.96600   0
4   -4.14 -3.08   643.53700   0
5   -2.37 -4.14   735.32900   0
6   -2.79 -2.37   821.13400   0
7   -6.96 -2.79   883.99100   0
8   -6.05 -6.96   946.84800   0
9   -3.19 -6.05  1045.62000   0
10  -2.74 -3.19  1244.17000   0
11  -3.23 -2.74  1511.56000   0
12  -3.57 -3.23  1632.29000   0
13  -2.74 -3.57  1729.07000   0
14  -3.99 -2.74  1814.88000   0
15  -6.70 -3.99  1875.74000   0
16  -6.63 -6.70  1936.60000   0
17  -4.06 -6.63  2037.37000   0
18  -3.29 -4.06  2247.89000   1
19  -4.91 -3.29     1.99546   1
20  -4.19 -4.91   230.47600   1
21  -2.31 -4.19   458.95700   1
22  -2.03 -2.31   995.73700   1
23  -3.43 -2.03  1122.45000   1
24  -3.75 -3.43  1240.18000   1
25  -2.56 -3.75  1334.97000   1
26  -4.19 -2.56  1417.78000   1

目前很难想象情节中各个回合的开始和结束。是否可以为每个组分配不同的梯度,而不必为每次回合创建单独的数据帧并手动添加路径?理想情况下,我想要这样的东西,大约 0 是蓝色(从亮到暗),大约 1 是绿色(从亮到暗),其中渐变比例由时间变量 z 控制。任何建议将不胜感激!


多个颜色渐变可能不是可视化数据的最佳方式,并且 ggplot 并不真正支持这一点,但是可以通过颜色和 alpha 渐变的组合来实现类似您所描述的内容:

d <- data.frame(x=rep(1:20, 5), y=rnorm(100, 5, .2) + rep(1:5, each=20), z=rep(1:20, 5), grp=factor(rep(1:5, each=20)))

ggplot(d) +
  geom_path(aes(x, y, color=grp), size=2) +
  geom_path(aes(x, y, group=grp, alpha=z), size=2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ggplot2 对多个梯度进行分组 的相关文章

  • 如何返回包含最大值标签的向量

    我有一个 4 列数组 我想获得一个向量 其中每行包含包含该行最大值的列的标签 我可以在循环中执行此操作 但我想使用矩阵函数来提高速度 我怎样才能在不编写自己的库函数的情况下做到这一点 有一个函数可以做到这一点 如果x是你的矩阵 尝试max
  • 按不规则时间间隔对数据进行分组求和(R语言)

    我正在看这里的 stackoverflow 帖子 R 计算一组内的观察次数 https stackoverflow com questions 65366412 r count number of observations within a
  • 使用 RDCOMClient 搜索 Outlook 收件箱

    我尝试使用 RDCOMClient 在 Outlook 收件箱中搜索电子邮件中的特定主题 然后获取附件 我在一封电子邮件上进行了这项工作 但由于主题包含日期元素 我需要搜索成为一个类似的子句 但不太清楚这适合我的下面的查询 outlook
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • R - 与 SpatialPolygonsDataFrame 对象相交的 SpatialLinesDataFrame 列表的嵌套循环

    我有一系列需要完成的步骤SpatialLinesDataFrame 此处的 线 基于对象与多特征中各个特征的关系SpatialPolygonsDataFrame 多边形 对象 简而言之 每个线列表元素源自单个面要素内部 并且可能会也可能不会
  • 如何绘制堆积比例图?

    我有一个数据框 x lt data frame id letters 1 3 val0 1 3 val1 4 6 val2 7 9 id val0 val1 val2 1 a 1 4 7 2 b 2 5 8 3 c 3 6 9 我想绘制一个
  • 从 R 中的方差分析 (glm) 中提取残余偏差

    我在 R 中安装了一个 glm 模型并采用了方差分析表 我需要提取 残余偏差 列 但它会产生错误 以下是代码 创建数据 counts lt c 18 17 15 20 10 20 25 13 12 outcome lt gl 3 1 9 t
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 从 df 中提取具有两列的重叠行对

    我想找出这两个表之间哪些对重叠 gt dput data1 structure list Name x c MDH1 MDH1 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 SCOALB SCOALB CSY4 CS
  • 融化R中的下半矩阵

    如何融化下半三角形加对角矩阵 11 NA NA NA NA 12 22 NA NA NA 13 23 33 NA NA 14 24 34 44 NA 15 25 35 45 55 A lt t matrix c 11 NA NA NA NA
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • 将第 N 行上的 NA 行插入 data.frames 列表,其中 N 来自列表

    经过几个小时后 我发现自己无法解决以下问题 我有一个数据框列表 我想分别向每个 DF 插入 而不是替换 一行或多行 NA 始终至少一行 要插入的 NA 数量存储在单独的列表中 为了说明这一点 我有以下两个列表 list of datafra
  • 如何在 Caret 中绘制随机森林(护林员)树

    我生成了如下所示的随机森林树 并尝试绘制它 但出现错误 我在哪里犯了错误 我怎样才能以正确的方式绘制它 Actmodel lt train Activity Section Author data CB1 method ranger trC
  • 如何在 R 中合并同名列表中的数据框?

    我有一个包含很多数据框的列表 如果它们具有相同的名称 我想合并它们 即合并所有具有相同名称 a 和 b 的数据框 像这样 a lt aaaaa b lt bbbbb c lt ccccc g lt list df1 lt data fram
  • 如何对数字进行四舍五入并使其显示零?

    R 中将数字四舍五入到小数点后 2 位的常用代码是 gt a 14 1234 gt round a digits 2 gt a gt 14 12 但是 如果该数字的前两位小数位为零 则 R 会在显示中抑制零 gt a 14 0034 gt
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • 列出 R 数据文件的内容而不加载

    我有时用print load myDataFile RData 当我加载数据文件时列出它的内容 有没有办法列出内容而不加载数据文件中包含的对象 我认为如果不加载对象就无法做到这一点 解决方案可能是使用包装器将 R 对象保存到save 该函数
  • 访问或解析 R 中的 summary() 中的元素

    我运行以下 R 命令来进行 Dunnett 测试并获取摘要 如何访问下面线性假设的每一行 这是摘要输出的一部分 基本上我不知道摘要的结构 我尝试使用名称 但它似乎不起作用 因为我没有看到任何命名属性来提供这一点 library multco
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 如何按时间间隔匹配数据帧?

    这是我从数据记录器导入原始数据时经常出现的问题 温度记录仪设置为每十分钟记录一次温度 单独的气体记录仪设置为记录最后十分钟间隔内使用的气体 我想将这两个记录器的数据合并到一个数据框中进行绘图和分析 但时间并不完全一致 我希望每十分钟的时间段

随机推荐

  • SQL中有没有快速更新多条记录的方法?

    我需要用我根据 CodeID 创建的新名称替换 20 000 多个名称 例如 我必须用 cat 更新包含 dog 其 CodeID 为 1 的所有行 并用 bird 更新包含 horse 其 CodeID 为 2 的所有行 等等 第一个 S
  • 在Python中,什么是“sys.maxsize”?

    我假设这个数字 2 63 1 是 python 可以处理或存储为变量的最大值 但这些命令似乎运行良好 gt gt gt sys maxsize 9223372036854775807 gt gt gt a sys maxsize 1 gt
  • 如何立即查看 AppCode 中的 Swift 错误?

    有没有办法立即看到 AppCode 中的 Swift 错误 在他们的网站上 他们谈论静态代码分析 但我找不到任何地方可以声称这种情况会立即发生 当您在 Xcode 中输入一些 Swift 代码时 您通常会立即看到警告 错误等 在 AppCo
  • 通过 WCF 进行日志记录而不减慢速度

    我们的应用程序中有一个每月运行一次的大型流程 此过程通常运行约 30 分钟 并生成约 342000 个日志事件 最近 我们使用 WCF 将日志记录更新为集中式模型 但现在遇到了性能问题 以前的解决方案大约需要 30 分钟即可完成 但采用新的
  • cygwin + Windows套接字编程

    我正在尝试学习 Windows 中的 Socket 编程 并使用 cygwin 来实现同样的目的 我发现所需的文件位于 usr include w32api 我从网上获取了一个示例程序并尝试编译但无法这样做 相同的代码是 include
  • 在Tensorflow中,sampled_softmax_loss和softmax_cross_entropy_with_logits有什么区别

    在张量流中 有一些方法称为softmax cross entropy with logits https www tensorflow org versions master api docs python tf nn softmax cr
  • 如何使用具有圆角背景的文本覆盖图像

    我需要在 HTML 中复制您在此图中看到的内容 问题是文本覆盖了 div 和背景图像 如果外部 div 中没有图像并且没有纯色 我可以想象我可以相当轻松地使用一些带有圆角的小 html 元素放置在正确的位置来完成此操作 但是背景图像是是什么
  • 使用 PHP MySQL 创建嵌套 JSON

    我有一个返回某些字段的 SQL 查询 我正在使用json encode 获取 JSON 格式的数据 但是我无法以我想要的格式获取它 PHP代码
  • 递归函数提取所有叶节点

    我正在尝试递归遍历 json 树并提取所有叶节点 子节点 null 并返回一个平面列表 我没有得到完整的清单 我只得到一件物品 我想我已经快到了 但我不太清楚我在这里犯了什么错误 请指教 let cluster children child
  • 获取选定的文本位置

    目前 我正在浏览器中获取选定的文本 执行以下操作 window getSelection 现在 当按下自定义键时 我需要在该文本上方显示一个工具提示 请注意 鼠标不能再位于文本上方 因此为了做到这一点 我需要该所选文本的绝对位置 有没有办法
  • 将面板添加到框架,但在应用程序运行时不显示[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 框架中有两个面板 顶部有一个菜单栏 菜单栏显示得很好 到目前为止设置的任何操作都有效 但其他两个面板从未出现 我尝试重新追踪将它们添加到框架上的所有面板和线条 但找不到任何错误 两个窗格中
  • 为什么访问 PerformanceCounter 会导致第 2 代垃圾回收

    当我从 C 应用程序中访问某些 PerformanceCounters 时 我看到一些奇怪的行为 例如 当我访问 Process Private Bytes 时 似乎我得到了很多第 2 代垃圾收集 对于其他进程计数器来说似乎也是如此 下面的
  • 如何使用短信内容提供商?文档在哪里?

    我希望能够读取系统的短信内容提供商 基本上我想制作一个短信应用程序 但只有当我可以看到过去的线程等时它才会有用 似乎有一个内容提供程序 但我找不到它的文档 有人知道它在哪里吗 Thanks 编辑 好的 我找到了一种获取短信收件箱提供程序的方
  • Node.js:如何将参数的值从终端传递到JS脚本

    Given a jsdom based svgcreator node js脚本文件 var jsdom require jsdom jsdom env CREATE DOM HOOK http d3js org d3 v3 min js
  • 在使用 ant 为库项目构建 Android 测试时,如何使用 emma 过滤器?

    从这个问题 使用 ant 构建 Android 测试时如何使用 emma 过滤器 https stackoverflow com questions 7360972 how can i use filter for emma when bu
  • 谷歌电子表格中的数据绑定?

    是否可以编写一个将两个单元 绑定 在一起的谷歌应用脚 本 例如 如果编辑一张工作表中的单元格 它将自动更新另一张工作表中的匹配单元格 因此 如果sheet1在单元格A1中有一个表示 花费的钱 的值 并且sheet2在单元格B4中有一个表示相
  • 使用 C++ 中的 java 套接字接收浮点数

    我需要使用套接字从 C 客户端到 java 服务器接收包含浮点数的数组或类 但 InputStreamReader 没有得到正确的结果 任何原因 任何有关更简单方法的建议将不胜感激 谢谢 Java服务器代码 public static vo
  • 检测流中的重复组

    我想确保列表中的所有数字都分组在一起 让我用例子来解释这一点 1 1 1 2 2 OK two distinct groups 1 1 2 2 1 1 Bad two groups with 1 1 2 3 4 OK 4 distinct
  • 缩放变换导致与 Flex 布局的渲染间隙

    我使用 Flex 布局来渲染具有 3 个大小均匀的列的容器 div 它的工作原理正如我所期望的那样 直到我应用比例变换 当容器缩小时 内容框之间会出现细小的间隙 该问题发生在 MacOS Chrome 和 Safari 上 但不会发生在 F
  • 使用 ggplot2 对多个梯度进行分组

    我对 R 还很陌生 所以如果答案显而易见 或者我的数据组织得不好 我深表歉意 我试图绘制声音字符 熵 随时间的差异 我使用拍号信息将录音分成 回合 我能够创建一个散点图 其中的线条对应于回合数 0 9 代码看起来像这样 newbout lt