有没有办法在 R 中拥有突出显示的图表以及选择元素的交互性?
Is there a way to have a highlighted chart as well as have interactivity of selecting elements in R?
我在这个网页上发现了一个漂亮的图表:https://ourworldindata.org/coronavirus 并且有兴趣知道我们是否可以在 R 中构建具有 功能的相同图表 突出显示系列以及悬停时选择任意行 ?
我已经使用 gghighlight
构建了 静态突出显示图表 ,但这些图表 不是交互式的 。
Plotly
可以在 交互 中提供帮助,但我认为它们不适用于 gghighlight
。
那么我们怎样才能在图表中将两者 highlight and interactivity
结合起来,就像在顶部 link 共享的 一样?
是否可以在 R 中实现相同的结果?如果有人可以分享示例或 link 可以提供帮助,那将非常有帮助。
(UPDATE: 也许我可以通过创建一个因子列而不是使用 gghighlight
手动突出显示行,然后将其传递给 ggplotly
但随后ggplotly
或其他一些库可以在悬停时提供类似的结果吗?)
(注意:不是寻找动画。只需要突出显示,将鼠标悬停在交互式图表上)
下面是同一图表的快照悬停在美国上(此图表也与世界经济论坛多次分享的图表相似。)
使用 plotly
你可以使用 highlight()
来实现这个。
这是对 here:
稍作修改的示例
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
)
我在这个网页上发现了一个漂亮的图表:https://ourworldindata.org/coronavirus 并且有兴趣知道我们是否可以在 R 中构建具有 功能的相同图表 突出显示系列以及悬停时选择任意行 ?
我已经使用 gghighlight
构建了 静态突出显示图表 ,但这些图表 不是交互式的 。
Plotly
可以在 交互 中提供帮助,但我认为它们不适用于 gghighlight
。
那么我们怎样才能在图表中将两者 highlight and interactivity
结合起来,就像在顶部 link 共享的 一样?
是否可以在 R 中实现相同的结果?如果有人可以分享示例或 link 可以提供帮助,那将非常有帮助。
(UPDATE: 也许我可以通过创建一个因子列而不是使用 gghighlight
手动突出显示行,然后将其传递给 ggplotly
但随后ggplotly
或其他一些库可以在悬停时提供类似的结果吗?)
(注意:不是寻找动画。只需要突出显示,将鼠标悬停在交互式图表上)
下面是同一图表的快照悬停在美国上(此图表也与世界经济论坛多次分享的图表相似。)
使用 plotly
你可以使用 highlight()
来实现这个。
这是对 here:
稍作修改的示例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
)