r - 有没有办法让图表突出显示以及在 R 中选择元素的交互性?
问题描述
我在这个网页上看到了一个漂亮的图表:https ://ourworldindata.org/coronavirus并且有兴趣知道我们是否可以在 R 中构建相同的图表,具有突出显示系列以及选择悬停时选择任何线条的功能?
我已经构建了静态突出显示的图表,gghighlight
但这些图表不是交互式的。
Plotly
可以帮助进行交互,但我认为它们不适用于gghighlight
.
那么我们如何才能在图表中将两者结合起来,highlight and interactivity
就像在顶部共享的链接中一样呢?
是否有可能在 R 中获得相同的结果?如果有人可以分享一个可以提供帮助的示例或链接,那将非常有帮助。
(更新:也许我可以通过创建一个因子列而不是使用gghighlight
然后将其传递给它来手动突出显示行ggplotly
但是然后可以ggplotly
或其他一些库在悬停时提供类似的结果?)
(注意:不是在寻找动画。只需要突出显示,将鼠标悬停在交互式图表上)
下面是在美国上空盘旋的同一张图表的快照(这张图表也与世界经济论坛多次分享的图表相似。)
解决方案
使用plotly
你可以highlight()
用来实现这一点。
这是一个稍微修改过的示例:
library(plotly)
# load the `txhousing` dataset
data(txhousing, package = "ggplot2")
# declare `city` as the SQL 'query by' column
tx <- highlight_key(txhousing, ~city)
# initiate a plotly object
base <- plot_ly(tx, color = I("black")) %>%
group_by(city)
# create a time series of median house price
time_series <- base %>%
group_by(city) %>%
add_lines(x = ~date, y = ~median)
highlight(
time_series,
on = "plotly_hover",
selectize = FALSE,
dynamic = FALSE,
color = "red",
persistent = FALSE
)
推荐阅读
- flutter - Flutter - 事件/时间线预约预约布局问题
- scheme - plt-r5rs 中未定义“错误”过程
- python - 通过 Anaconda 在任何 Python 中的内核错误(13)“无法启动内核”-尝试 Spyder 4.0 更新后
- sql - 使用带 PK 的 WHERE 使用 Foreach 更新百万行
- r - 为什么这个 R 代码不产生相同的结果?(卷积与 FFT)
- recursion - 较大尝试的递归释放
- typescript - webpack ts-loader - 没有编译/编译的类型检查?
- java - 将 Mat 转换为 EM 的一维浮点数组?
- charles-proxy - 在 Charles 断点的路径上使用通配符
- vb.net - 如何替换一行单元格的单元格内容与写入每个单元格