有没有一种方法可以在R中使用ggplotly将bin范围标签添加到直方图的工具提示中?

时间:2020-04-08 20:53:43

标签: r ggplot2 plotly histogram ggplotly

library(tidyverse)
library(ggplot2)
library(plotly)

data(mpg)

ggplotly(
mpg %>% 
  ggplot(aes(x=hwy)) +
  geom_histogram(), 
tooltip = ("all"))

当您将鼠标悬停在栏上时,我希望工具提示显示垃圾箱的开始和停止位置(例如20-21)

2 个答案:

答案 0 :(得分:1)

如果不是强制使用ggplot2,更简单的解决方法是使用基本直方图:

plot_ly(x = mpg$hwy, type = "histogram")

enter image description here

答案 1 :(得分:1)

感谢简单的plot_ly答案。由于其他原因,我想保留ggplot。这是我想出的一种可能的解决方案,它从ggbuild_plot()中提取直方图元素,并将其绘制为条形图。

ggplotly(
ggplot_build(
  mpg %>% 
    ggplot(aes(x=hwy)) +
    geom_histogram()
)$data[[1]] %>% 
  ggplot(aes(x=factor(x), y = count, text = paste0("range: ",round(xmin, 1), " - ", round(xmax,1)))) + 
  geom_bar(stat="identity") + 
  theme(axis.text.x = element_blank()),
tooltip = c("text"))

enter image description here