gpt4 book ai didi

r - 基于 x 轴在绘图上显示工具提示

转载 作者:行者123 更新时间:2023-12-04 07:54:26 26 4
gpt4 key购买 nike

我有一个交互式图表,它显示了一个预测值和一个上下置信区间。我的图表看起来和我想要的完全一样,但是工具提示行为不是我们想要的。无论如何,是否可以根据光标在 x 轴上的位置显示工具提示信息,而不是根据您所在的线或置信区间的特定部分?

## libraries
library(tidyverse)
library(plotly)

## fake data
dat <- data.frame(date = seq(as.Date("1910/1/1"), as.Date("1910/1/10"), "days"),
pred = 1:10,
ci_low = seq(0, 9, 1),
ci_upper = seq(2, 11, 1))

## plot
p1 <- dat %>%
ggplot(aes(x = date, y = pred)) +
geom_line(color = "red") +
geom_ribbon(aes(x = date, ymin = ci_low, ymax = ci_upper), alpha = 0.2, linetype = 0)

## plotly-fy
ggplotly(p1)
例如,如果光标位于 1 月 8 日和 3 日的交叉点,我希望工具提示显示预测值和上下置信区间,所有这些都包含在该点之上。此外,如果我滚动该行,我也希望显示置信区间,如下所示。基本上我只想要一个标准的工具提示,它完全基于用户在 x 轴上的位置显示相同的信息,而不管 y 轴。
enter image description here

最佳答案

您可以设置 hovermode到“x统一”:

## libraries
# library(tidyverse)
library(plotly)

## fake data
dat <- data.frame(date = seq(as.Date("1910/1/1"), as.Date("1910/1/10"), "days"),
pred = 1:10,
ci_low = seq(0, 9, 1),
ci_upper = seq(2, 11, 1))

## plot
p1 <- dat %>%
ggplot(aes(x = date, y = pred)) +
geom_line(color = "red", aes(group = 1, text = paste("date:", date, "\npred:", pred, "\nci_low:", ci_low, "\nci_upper:", ci_upper))) +
geom_ribbon(aes(x = date, ymin = ci_low, ymax = ci_upper), alpha = 0.2, linetype = 0)

## plotly-fy
ggplotly(p1, tooltip = c("text")) %>%
layout(hovermode = "x unified") %>%
style(hoverinfo = "skip", traces = 2)
result
编辑:要控制显示的hoverinfo,我们可以使用 ggplotlytooltip论据以及自定义的“文本”美学。 geom_ribbon-trace 的hoverinfo 可以通过 style() 隐藏.
在 plotly 书中你可以找到 some great examples关于这一点。

关于r - 基于 x 轴在绘图上显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66772519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com