如何使用 ggplotly - R 使散点图点打开超链接

2023-12-29

我想让我的散点图点可单击,并在单击时打开每个点各自的超链接。我正在尝试使用 ggplotly 来做到这一点。 使用plotly()构建绘图时有一个简单的方法可以做到这一点(请参见下面的第一个示例)。但是,当我在 ggplotly 上运行它时,单击时会打开一个空网页。

有人知道我如何使用下面的代码使其工作吗?代码的OnRender部分是否有解决方案(不熟悉javascript)? 使用plotly 的第一个代码块可以工作。第二个代码块是我使用 ggplotly 进行的基本尝试,但它不起作用。

任何关于这方面的指导都会很棒!提前致谢

library(plotly)
library(htmlwidgets)
library(dplyr)

mtcars$url <- paste0("http://google.com/search?q=", gsub(" ", "+", rownames(mtcars)))

#1. Using plotly
p <- plot_ly(mtcars, x = ~wt, y = ~mpg) %>%
  add_markers(customdata = ~url)
onRender(p, "
         function(el, x) {
         el.on('plotly_click', function(d) {
         var url = d.points[0].customdata;
         window.open(url);
         });
         }
         ")

#2. Using ggplotly`
p <- ggplot(data = mtcars, aes(x = wt, y = mpg))+
  geom_point()
pp <- ggplotly(p)
pp  <- add_markers(pp, customdata = ~url)
onRender(pp, "
         function(el, x) {
         el.on('plotly_click', function(d) {
         var url = d.points[0].customdata;
         url
         window.open(url);
         });
         }
         ")

好像add_markers(pp, customdata = ~url)没有影响。这是通过执行以下操作来实现的:

p <- ggplot(data = mtcars, aes(x = wt, y = mpg)) + geom_point()
pp <- ggplotly(p)
pp$x$data[[1]]$customdata <- mtcars$url
#pp  <- add_markers(pp, customdata = ~url)
ppp <- onRender(pp, "
         function(el, x) {
         el.on('plotly_click', function(d) {
         var url = d.points[0].customdata;
         //url
         window.open(url);
         });
         }
         ")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 ggplotly - R 使散点图点打开超链接 的相关文章

  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • R:如何将字符/数字转为1,NA转为0?

    有没有一种简单的方法可以将列的字符 数字变为 1 将 NA 变为 0 这里有一些示例数据 我想将其应用于 3 4 structure list Item Code c 176L 187L 191L 201L 217L 220L Item x
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • HTTR GET 新错误:SSL 证书问题:证书已过期

    我已经运行这段代码几个月了 没有出现任何问题 今天我突然开始在我的两台 AWS 服务器上收到以下错误消息 错误 curl curl fetch memory url handle handle SSL证书问题 证书已过期 当尝试运行以下代码
  • 更改 R 中 ggplot geom_polygon 的颜色方案

    我正在使用地图库和 ggplot 的 geom polygon 创建地图 我只是想将默认的蓝色 红色 紫色配色方案更改为其他颜色 我对 ggplot 非常陌生 所以如果我没有使用正确的数据类型 请原谅 我使用的数据如下所示 gt head
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • 安装 2.15 后 ggplot2 中的 alpha 通道不起作用

    更新到 R 2 15 后 ggplot 中的 alpha 通道似乎不再起作用 plot rnorm 100 rnorm 100 bg cc000055 pch 21 工作得很好但是 qplot rnorm 100 rnorm 100 col
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met
  • 无需重新绘制传单地图即可进行闪亮的 UI 调整

    问题 我正在创建一个闪亮的仪表板来帮助客户探索一些空间数据 我想要实现的 UI 设计允许用户轻松地在两种布局之间切换 Map Only 地图 数据表 我在实现这种设计时遇到了麻烦 因为每次用户在布局之间切换时都会出现两个问题 地图已重新绘制
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • 如何根据多个条件创建列?

    我有一个数据框 我想根据多个条件创建一个列 v1 v2 v3 v4 v5 4 1 2 4 5 5 5 2 4 5 6 21 9 20 30 50 6 4 5 7 9 10 3 6 5 9 基本上 使用以下可能的值创建 v6 Cat dog
  • 将文件名附加到 R 中的数据框

    我想将文件名附加到我的表中 但它似乎并没有真正起作用 我正在做的是迭代文件名列表 打开它们 将所有数据附加到一个数据帧 对于每个附加文件 我想添加其文件名 我希望将其附加到每一行 以便稍后当我查看数据时 我会知道给定行源自哪个文件 但似乎并
  • 通过消除嵌套的 for 循环来改进此代码

    R 包corrplot除其他内容外 还包含这个漂亮的功能 cor mtest lt function mat conf level 0 95 mat lt as matrix mat n lt ncol mat p mat lt lowCI
  • ggplot geom_bar - 条形太宽

    对于这个非信息性的标题 我感到很抱歉 gt y read csv textConnection scan sep n what raw org art type length 191 gk Finish short 4 147 ik Att
  • 用于安装 R 软件包的备用编译器:clang:错误:不支持的选项“-fopenmp”

    我正在尝试在 OS X 10 11 6 上使用 R 版本 3 4 0 安装 rJava 包 install packages rJava type source 我收到以下错误 clang o libjri jnilib Rengine o
  • autoplot.microbenchmark 实际绘制了什么?

    根据文档 microbenchmark autoplot 使用 ggplot2 生成更清晰的微基准计时图 凉爽的 让我们尝试一下示例代码 library ggplot2 tm lt microbenchmark rchisq 100 0 r

随机推荐

  • 设置参考号并将其与文本文件中的其他数据进行比较

    该项目基于眼动仪 让我简要介绍一下该项目背后的想法 以便更好地理解我的问题 我有 Tobii C 眼动仪的硬件 这个眼动仪将能够给出我正在看的地方的 X Y 坐标 但这个装置非常敏感 当我看 1 个点时 眼动仪会发出许多不同的坐标数据 但在
  • Rails 应用程序内的 AMQP 订阅者

    是否可以使用我的 Rails 应用程序启动 AMQP 订阅者 可能通过初始化程序或其他东西 我想让它同时运行 也可以与 Rails 模型交互 下面是我的意思的伪代码示例 queue subscribe do msg body Foo cre
  • Asp 控制转发器内的 Id 生成

    我在中继器 itemtemplate 中定义了一些控件 问题出在自动生成的 Id 上 这是我的页面
  • 使用 CALayer 时无法编译代码

    由于某种原因 当我尝试使用 CALayer 时出现链接器错误 OBJC CLASS CALayer referenced from 我导入了以下标头 import
  • PropertyWrapper 中不存在的 Codable 属性的默认值

    我创建了一个像这样的propertyWrapper propertyWrapper public struct DefaultTodayDate Codable public var wrappedValue Date private le
  • 如何使用 JavaScript 将音频静音/取消静音

    我在这里创建了我的函数的小提琴 http jsfiddle net rhy5K 10 http jsfiddle net rhy5K 10 现在我想为用户提供声音 静音 取消播放 选项 例如 如果我点击 一个链接 那么声音就像Get rea
  • 为什么用“to_excel”保存时pandas数据框样式丢失?

    Per 这个例子 https pandas pydata org pandas docs stable user guide style html Export to Excel the to excel方法应保存带有背景颜色的 Excel
  • 显示“页面加载”消息

    我试图在 html 页面中显示用于 页面加载 的图像 gif 直到显示 my script py 的输出 但我不知道该怎么做 This http jsfiddle net 9X4gW 这是我到目前为止所得到的 提前谢谢了 HTML div
  • 使用反射从字符串获取属性值

    I am trying implement the Data transformation using Reflection https web archive org web 20210122135227 http geekswithbl
  • 最后的手段/万能的/后备模板过载

    正如我之前提出的一个问题所示 重载解析 模板和继承 https stackoverflow com questions 28405921 overload resolution templates and inheritance 28406
  • 组织我的 Python 项目

    我正在启动一个 Python 项目 预计其中有 20 个或更多类 作为良好的做法 我想将它们分别放入一个单独的文件中 然而 项目目录很快就会被文件淹没 或者当我这样做时 如果我将要导入的文件放入文件夹中 我将无法再导入它 如何从另一个文件夹
  • FastAPI 中的可选查询参数

    我不明白可选查询参数 https fastapi tiangolo com tutorial query params optional parameters在 FastAPI 中 它与什么不同默认查询参数 https fastapi ti
  • 在Java中读取IDX文件类型

    我已经用 Java 构建了一个图像分类器 我想针对此处提供的图像进行测试 http yann lecun com exdb mnist http yann lecun com exdb mnist 不幸的是 如果您下载 train imag
  • Jasper 报告导出到 pdf 时出现字体大小问题

    我正在使用 Jaspersoft Studio 5 6 它在 Jaspersoft Studio 的设计视图中正确显示 在预览视图中 它也可以正确显示 使用 java 或 pdf 当我从 Java 应用程序执行报告时 三个文本以相同的大小显
  • jQuery 自动完成中未定义的结果

    所以我已经运行了最新版本的 jQuery 和 UI 我正在使用基本的自动完成调用并返回有效的 JSON 通过 JSONLint 验证 input cust id autocomplete source yoda app base asset
  • 为什么我没有 keras.applications 模块?

    from scipy misc import imsave import numpy as np import time from keras applications import vgg16 from keras import back
  • Android:当我启动新活动并按返回返回到它时,列表视图会自我复制

    我有两个列表视图 它们是视图寻呼机选项卡中的片段 当您单击列表视图中的项目时 它会启动一个新活动 但是 当我按后退按钮返回到选项卡式列表视图时 列表视图已加倍 如果我打开活动并再次返回 它会再次加倍 并且它将继续这样做 另外 我还有另一个带
  • Python括号约定[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 应用程序提交:无效的二进制文件 - 无效的签名

    我正在尝试向 iOS 应用商店提交更新 我将从 Buzztouch 应用程序转到 Sprite Kit 应用程序 我能够存档 Xcode 项目并提交 该应用程序进入 上传已接收 状态 但大约一分钟后 它更改为 无效二进制文件 我收到一封电子
  • 如何使用 ggplotly - R 使散点图点打开超链接

    我想让我的散点图点可单击 并在单击时打开每个点各自的超链接 我正在尝试使用 ggplotly 来做到这一点 使用plotly 构建绘图时有一个简单的方法可以做到这一点 请参见下面的第一个示例 但是 当我在 ggplotly 上运行它时 单击