如何在R的绘图中禁用“双击图例以隔离一条痕迹”交互?我希望双击只产生两次单击的效果。
这是有关如何使用Javascript的示例:
Plotly.newPlot('graph', [{
y: [1, 2, 1]
}, {
y: [3, 4, 2]
}])
.then(gd => {
gd.on('plotly_legenddoubleclick', () => false)
})
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<body>
<div id="graph"></div>
</body>
它使用
gd.on('plotly_legenddoubleclick', () => false)
。我不知道如何将其翻译为R。
R中的示例:
library(plotly)
plot_ly() %>%
add_trace(y = c(1,2,1), x = c(1,2,3), mode= "graph") %>%
add_trace(y = c(3,4,2), x = c(1,2,3), mode= "graph")
最佳答案
您可以使用htmlwidgets
将类似的JavaScript代码添加到R代码中。
笔记:
devtools::install_github("ropensci/plotly")
library(plotly)
library(htmlwidgets)
p <- plot_ly() %>%
add_trace(y = c(1,2,1), x = c(1,2,3), mode= "graph", type='scatter') %>%
add_trace(y = c(3,4,2), x = c(1,2,3), mode= "graph", type='scatter')
javascript <- "var myPlot = document.getElementsByClassName('plotly')[0];
myPlot.on('plotly_legenddoubleclick', function(d, i) {return false});"
p <- htmlwidgets::prependContent(p, htmlwidgets::onStaticRenderComplete(javascript), data=list(''))
p
关于r - 禁用图例双击事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51877429/