R 中的交互式散点图,覆盖/悬停摘要/工具提示作为用户提供的绘图函数

2023-11-27

我一直在研究 R 中的交互式绘图。我知道有几个包可以创建交互式绘图,特别是散点图,但我正在寻找某种功能。

例如这个情节。人们可以将鼠标悬停在按钮上以获得该点后面数据的小数字摘要,即工具提示。

当您拥有包含更多变量的数据集时,通常最好探索/可视化 PCA 的分数,或者进行多维缩放 (MDS)。但是,如果以交互方式绘制数据(如上面的示例),则将鼠标悬停在该点上时的摘要不会提供太多信息,即只是一长串数字。如果能够生成自定义绘图来显示,而不是仅仅显示数值,那就更好了。

所以我的问题是:

当将鼠标悬停在散点图中的某个点上时,是否可以(在 R 中可用的某些包中)生成可视化摘要。这可能是一个条形图,或者只是一些用户指定的绘图函数,它将 data.frame 中的一行作为参数。

如果这是可能的,那么它将极大地有助于快速理解 MDS 的结果。

EDIT:

以下是对 iris 数据集进行 MDS 的一些代码:

library(ggplot2)
library(plotly)
d <- dist(iris[,-5]) # euclidean distances between the rows
fit <- cmdscale(d,eig=TRUE, k=2) # k is the number of dim

# Put coordinates and original data in one data.frame
x <- fit$points[,1]
y <- fit$points[,2]
pDat <- data.frame(x=x,y=y)
pDat <- cbind(pDat,iris)
p <- ggplot(pDat) + geom_point(aes(x,y))
ggplotly(p)

首先,现在工具提示仅包含 x,y 坐标。我希望工具提示包含原始 4 个变量的值。然后,我想将工具提示显示为条形图,而不是数据点后面的原始 4 个变量。 MDS 保留了数据点之间的距离,因此人们可以用鼠标逐渐悬停,并看到条形图,几乎连续变化,因为距离被保留。在我的使用案例中,每个点后面有 30 个变量,因此条形图摘要提供的视觉信息比 30 个数值更多。


如果您使用 RStudio,plotly 包应该足够友好,可以使用。 例如:

library(ggplot2)
library(plotly) 
p <- ggplot(iris, aes(Sepal.Length, Petal.Length, colour=Species)) + geom_point()
 ggplotly(p)

将鼠标悬停在某一点上时显示的信息如下所示:

enter image description here

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

R 中的交互式散点图,覆盖/悬停摘要/工具提示作为用户提供的绘图函数 的相关文章

  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • 在函数中使用 quit/q 会导致 RStudio 出现致命错误

    更多的是好奇 但当你使用时q or quit在 R studio 内的函数内部 它会导致致命错误 如下所示 但 rgui 中的相同函数会导致 R 像往常一样停止 并且仅使用q 在 RStudio 中按预期关闭 R 为什么q在函数中导致 RS
  • 美人鱼图:调整图表周围的空白

    我在用 Rstudio 编译的 Rmd 报告中使用了美人鱼图 在 HTML PDF 输出中 图表上方和下方有大量空白 请参见下面的示例 Header Text r library DiagrammeR mermaid graph TD cl
  • 将所有分号替换为空格 pt2

    我尝试对 2000 多行关键字的列表运行文本分析 但它们的列出方式如下 战略 管理风格 组织 所以当我使用 tm 删除标点符号时 它就变成了 组织的战略管理风格 我认为这在某种程度上破坏了我常用术语的分析 我尝试过使用 vector lt
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • 删除缺失的数据值

    我删除了原始帖子 以便能够发布更大版本的数据集 实际上总共有 418 行 这是我正在进行的生存分析的数据 第一列是 ID 号 其他列标记为 V2 V20 有很多缺失的数据 用 表示 我用coxph 函数来获取以下内容 Saves survi
  • 如何在基数 R 中进行分组

    我想使用以下 SQL 查询来表达base R 没有任何特定的包 select month day count as count avg dep delay as avg delay from flights group by month d
  • 如何在R中匹配具有相同主键的两个表中的数据

    我有两个表 其中包含有关人员的数据 df1 lt data frame id c 113 202 377 288 359 name c Alex Silvia Peter Jack Jonny 这为我提供了 id name 1 113 Al
  • 根据 row_number() 过滤 data.frame

    更新 自从提出这个问题以来 dplyr 已经更新 现在按照 OP 的要求执行 我正在尝试获取第二行到第七行data frame using dplyr 我正在这样做 require dplyr df lt data frame id 1 1
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • 函数“[<-”将_替换_一个元素,但不会追加_元素_

    我在使用时注意到以下几点 lt 我成功于替换元素但不位于追加向量的一个元素 例子 VarX lt integer VarX 1 lt 11 lt VarX 2 22 VarX 1 11 Expected the value of VarX
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the
  • 如何确定 R 包的作者?

    如何确定包的作者是谁 鉴于我们拥有这个广泛使用的代码库 我认为参考我在分析中使用的软件是合适的 有没有办法以编程方式检索作者和任何其他相关信息 在伪代码中 我想执行以下操作 references base 我怎样才能做到这一点 为了能够引用
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • 导入错误:无法导入名称“时间戳”

    我使用以下代码在 python 3 6 3 中成功安装了 ggplot conda install c conda forge ggplot 但是当我使用下面的代码将其导入笔记本时 出现错误 from ggplot import Impor
  • RStudio 如何确定控制台宽度,为什么它似乎总是出错?

    我刚刚发现wid lt options width在 RStudio 中 它似乎是我日常控制台使用中令人烦恼的根源 或者更确切地说 更接近根源 我应该先说一下 我目前使用的是 R 3 2 2 RStudio 0 99 491 Linux M
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 通过使用 navbarPanel() 并隐藏导航栏构建多页闪亮应用程序用户端(在 ui.R 中)?

    我想构建一个多页闪亮应用程序 我可以在其中控制用户可以看到哪个页面 迪安 阿塔利确实这个演示应用程序中有类似的东西 https github com daattali advanced shiny tree master multiple

随机推荐

  • 哪些浏览器支持多行字符串?

    哪些浏览器支持多行字符串 foo bar 和往常一样 我主要怀疑 IE 不支持它 哪个 IE 版本最先支持它 所有当前版本的主要浏览器都接受多行字符串 注意 该技术显然不存在于 符合浏览器标准 然而 当 在主要浏览器的所有当前版本上进行了测
  • 我们能否通过接受(或忽略)新功能来使 ML 模型(pickle 文件)更加健壮?

    我训练了一个 ML 模型 并将其存储到 Pickle 文件中 在我的新脚本中 我正在阅读新的 现实世界数据 我想对其进行预测 然而 我正在挣扎 我有一列 包含字符串值 例如 Sex Male Female This is just as e
  • 仅 CSS 工具提示,带有箭头和边框

    Styles Tooltip position absolute z index 999 width 200px height 57px padding 20px font family Comic Sans MS cursive font
  • ThreadPoolExecutor 中的死锁

    遇到一个情况时ThreadPoolExecutor停在execute Runnable 功能同时所有ThreadPool线程正在等待getTaskfunc workQueue 为空 有人有什么想法吗 The ThreadPoolExecut
  • angularjs 支持哪些版本的 Firefox?

    In the AngularJS 文档 他们说 Angular 支持 Webkit Firefox IE gt 8 但 Firefox 到底是哪些版本呢 我需要创建一个支持 Firefox 25 的应用程序 那可能吗 我知道这是一个旧线程
  • 如何在Vim中高效地交错多组线条?

    我正在尝试交错三组文本行 例如 以下文本 a a a b b b c c c 将被转化为 a b c a b c a b c 有没有有效的方法来做到这一点 在我内心深处的某个地方 vim文件我有一个 Interleave命令 附在下面 不带
  • 使用空格分隔符和最大长度分割字符串

    我想以类似的方式分割字符串 split 因此产生一个列表 但以更智能的方式 我希望它将其分割成最多 15 个字符的块 但不会分割中间的单词 因此 string A string with words splitting process ta
  • 如何在 BQ 命令行中设置 Bigquery 需要分区过滤器

    在 Big Query Web GUI 中创建新的空分区表架构时 您可以设置需要分区过滤器选项 使用 bq 命令行工具创建表时如何设置相同的选项 现在我的命令是 bq mk table time partitioning field eve
  • Bash 终端输出 - 突出显示包含某些文本的行

    当我在 bash 中得到输出时 我得到了标准的 2 色屏幕 默认情况下 如果某行包含一些关键文本输出 有什么方法可以突出显示该行吗 例如 如果它包含单词 FAIL 则该行颜色为红色 我读过这个https unix stackexchange
  • 如何索引 PDF 文件并搜索关键字?

    我有一堆 PDF 几百个 它们没有适当的结构 也没有特定的领域 他们所拥有的只是大量的文字 我正在尝试做的事情 对 PDF 建立索引并根据索引搜索一些关键字 我有兴趣查找该特定关键字是否在 PDF 文档中 如果是 我想要找到该关键字的行 如
  • 用 UI 对话框替换提示

    如何用简单的 UI 对话框替换此代码中的提示以实现相同的效果 使用提示时 IE 会发出安全警告 HTML
  • vh / % 单位和移动设备上的键盘

    我对像这样的单位有问题vh 对于高度 当有任何input处于活动状态时 移动设备上的键盘会更改元素高度 我正在寻找在键盘处于活动状态时将其更改为静态高度的解决方案 jsfiddle 在移动设备上打开 这个问题很简单 我们以前都经历过 幸运的
  • iPad 上捕获视图上下文的质量低

    我需要捕获特定的 UIView 但结果质量低下 如何解决此问题并提高质量 UIGraphicsBeginImageContext captureView bounds size captureView layer renderInConte
  • 在 C# 中使用 WMI 更改用户家长控制设置

    我对 WMI 和 COM 真的很陌生 我想更改用户帐户家长控制的一些参数和 唯一可用的 API 是 WMI 要使用的 WMI 提供程序类是 WpcUserSettings 我不明白如何修改每个用户的参数 我必须创建一个 每个用户都有此类的
  • 如何防止 WordPress 剥离摘录中的 HTML 标签

    我正在使用 wp trim words 修剪主页上的一些摘录 它工作正常 只是它从摘录中删除了 HTML 标签 我需要能够将摘录的某些部分加粗 使用 strong 按照说明进行操作here 我尝试删除 wp trim words 函数并使用
  • Laravel - 作业在一台服务器上调度,在另一台服务器上处理

    我正在研究 Laravel 应用程序的日志记录方面 amd 计划将数据发送到 SQS 以便稍后检索 但是 我想将作业从生产服务器分派到 AWS 队列 然后让队列在侦听队列的单独日志服务器上工作 我了解如何设置队列工作程序来监听队列 但是 L
  • Jetty:以编程方式停止会导致“1 个线程无法停止”

    我有一个嵌入式 Jetty 6 1 26 实例 我想通过 HTTP GET 发送到来关闭它 shutdown 所以我创建了一个JettyShutdownServlet Override protected void doGet HttpSe
  • 通过超时取消 C# 4.5 TcpClient ReadAsync

    通过超时取消 TcpClient ReadAsync 操作并捕获 NET 4 5 中的此超时事件的正确方法是什么 TcpClient ReadTimeout 似乎适用于同步只读 UPDATE 尝试应用此处描述的方法取消异步操作 var bu
  • VS2015CE中显示多余的空行,无法去掉

    当我使用
  • R 中的交互式散点图,覆盖/悬停摘要/工具提示作为用户提供的绘图函数

    我一直在研究 R 中的交互式绘图 我知道有几个包可以创建交互式绘图 特别是散点图 但我正在寻找某种功能 例如这个情节 人们可以将鼠标悬停在按钮上以获得该点后面数据的小数字摘要 即工具提示 当您拥有包含更多变量的数据集时 通常最好探索 可视化