悬停工具在 rBokeh 中不起作用
hover tool not working in rBokeh
我正在尝试使用 rBokeh
制作一个 scatter/barplot。除 hover
工具外,一切正常,我按照示例实现了该工具。这是我的代码:
output$sig_plot <- rbokeh::renderRbokeh({
display_data <- get_summary_data()
display_data <- na.omit(display_data)
display_data[
, interaction := apply(.SD, 1, paste, collapse=' ✕ '),
.SDcols=input$covariate_cols]
display_data[, LL := faults_asset_normalized - std_err]
display_data[, UL := faults_asset_normalized + std_err]
print(display_data)
display_data <- data.frame(display_data) # just in case it's required
return(rbokeh::figure(height = get_plot_height()
, tools = c("pan", "wheel_zoom", "box_zoom"
, "resize", 'hover'
, "reset", "save")) %>%
ly_segments(x0 = LL, y0 = interaction, x1 = UL, y1 = interaction,
data = display_data, width = 2) %>%
ly_points(faults_asset_normalized, interaction, glyph = 16, size = 8,
data = display_data
, hover = c(interaction, faults_asset_normalized, N, std_err))
)
})
print
语句的输出(截断):
model thrPos faults_asset_normalized N std_err interaction LL UL
1: SD70ACE T 5 0.008353259 519 0.0011565156 SD70ACE ✕ T 5 0.007196743 0.009509775
2: SD70ACE T 4 0.015008524 563 0.0021099450 SD70ACE ✕ T 4 0.012898579 0.017118469
3: SD70ACE T 1 0.014298873 1502 0.0014975474 SD70ACE ✕ T 1 0.012801326 0.015796421
4: SD70ACE T 6 0.010467797 594 0.0014118843 SD70ACE ✕ T 6 0.009055913 0.011879681
5: SD70ACE T 3 0.018653184 700 0.0031824597 SD70ACE ✕ T 3 0.015470725 0.021835644
为悬停使用新的 data.frame,它完全符合您的要求,并将其作为悬停参数传递。这通常有效。您没有提供可重新创建的代码位,但我想它会是这样的:
hover = subset(display_data, select= c("interaction", "faults_asset_normalized", "N", "std_err"))
figure() %>% ly_points(...,hover=hover) %>% ...
他们正在调整 rbokeh 在即将发布的版本中处理参数的方式,以更好地处理边缘情况。
devtools::install_github("bokeh/rbokeh@dev")
使悬停工作。
我正在尝试使用 rBokeh
制作一个 scatter/barplot。除 hover
工具外,一切正常,我按照示例实现了该工具。这是我的代码:
output$sig_plot <- rbokeh::renderRbokeh({
display_data <- get_summary_data()
display_data <- na.omit(display_data)
display_data[
, interaction := apply(.SD, 1, paste, collapse=' ✕ '),
.SDcols=input$covariate_cols]
display_data[, LL := faults_asset_normalized - std_err]
display_data[, UL := faults_asset_normalized + std_err]
print(display_data)
display_data <- data.frame(display_data) # just in case it's required
return(rbokeh::figure(height = get_plot_height()
, tools = c("pan", "wheel_zoom", "box_zoom"
, "resize", 'hover'
, "reset", "save")) %>%
ly_segments(x0 = LL, y0 = interaction, x1 = UL, y1 = interaction,
data = display_data, width = 2) %>%
ly_points(faults_asset_normalized, interaction, glyph = 16, size = 8,
data = display_data
, hover = c(interaction, faults_asset_normalized, N, std_err))
)
})
print
语句的输出(截断):
model thrPos faults_asset_normalized N std_err interaction LL UL
1: SD70ACE T 5 0.008353259 519 0.0011565156 SD70ACE ✕ T 5 0.007196743 0.009509775
2: SD70ACE T 4 0.015008524 563 0.0021099450 SD70ACE ✕ T 4 0.012898579 0.017118469
3: SD70ACE T 1 0.014298873 1502 0.0014975474 SD70ACE ✕ T 1 0.012801326 0.015796421
4: SD70ACE T 6 0.010467797 594 0.0014118843 SD70ACE ✕ T 6 0.009055913 0.011879681
5: SD70ACE T 3 0.018653184 700 0.0031824597 SD70ACE ✕ T 3 0.015470725 0.021835644
为悬停使用新的 data.frame,它完全符合您的要求,并将其作为悬停参数传递。这通常有效。您没有提供可重新创建的代码位,但我想它会是这样的:
hover = subset(display_data, select= c("interaction", "faults_asset_normalized", "N", "std_err"))
figure() %>% ly_points(...,hover=hover) %>% ...
他们正在调整 rbokeh 在即将发布的版本中处理参数的方式,以更好地处理边缘情况。
devtools::install_github("bokeh/rbokeh@dev")
使悬停工作。