在下面的直方图中,如何在ggplotly中将每个bin 的下限和上限包含在工具提示文本中?
library(ggplot2)
library(plotly)
csub<-data.frame(Anomaly10y = rpois(50,5))
p <- ggplot(csub,aes(x=Anomaly10y)) +
stat_bin(binwidth=1, aes(label1 = min(Anomaly10y, na.rm = T), label2 =
max(Anomaly10y, na.rm = T)))
ggplotly(p, tooltip = c("label1", "label2"))
提前致谢
答案 0 :(得分:1)
也许有更好的解决方案,但你可以使用geom_bar()
来欺骗它,以获得你想要的东西。这是另一种选择:
#first extract the data from stat_bin
p <- ggplot(csub,aes(x=Anomaly10y)) + stat_bin(binwidth=1)
temp <- layer_data(p, 1)
#ggplot
pp <- ggplot(data = temp, aes(x =x,y=y, label1 = xmin, label2 = xmax)) +
geom_bar(stat = 'identity', fill = "darkgrey", width = 1)
然后用ggplotly
绘图:
ggplotly(pp)
或
ggplotly(pp, tooltip = c("label1", "label2"))
也许有人作为这个选项的解决方案,但是:
pp <- ggplot(csub,aes(x=Anomaly10y)) +
stat_bin(binwidth=1) +
stat_bin(binwidth=1, geom="text", aes(label=..xmin..), vjust = 2) +
stat_bin(binwidth=1, geom="text", aes(label=..xmax..))
ggplotly(pp)
我只得到一个标签,而不是两者。