如何使用R中的填充条形图来控制ggplotly的工具提示中的“计数”

时间:2019-02-03 18:07:10

标签: r ggplot2 plotly r-plotly ggplotly

在此先感谢您提供任何建议!我希望能够在工具提示中为面向公众的交互式图重新标记“计数”。

这是一个可重复的示例:

library(plotly)
df <- data.frame(cat=c(rep("A", 5), rep("B", 7), rep("C", 10)),
                 time=c(rep("Time1", 3), rep("Time2", 13), rep("Time3", 6)))
ggplotly(ggplot(df, aes(x=time, fill=cat)) + geom_bar(position = "fill"))

我知道我可以使用text=paste("Category:", cat, "Time:" time)控制工具提示中的时间和类别标签,但似乎无法弄清楚如何使计数更美观。

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

也许有一个更简单的解决方案,但是您可以这样做:

library(plotly)
df <- data.frame(cat=c(rep("A", 5), rep("B", 7), rep("C", 10)),
                 time=c(rep("Time1", 3), rep("Time2", 13), rep("Time3", 6)))
gg <- ggplotly(ggplot(df, aes(x=time, fill=cat)) + geom_bar(position = "fill"))
ggg <- plotly_build(gg)
for(i in 1:length(ggg$x$data)){
  text <- ggg$x$data[[i]]$text
  text <- gsub("count:", "Count:", text)
  text <- gsub("time:", "Time:", text)
  text <- gsub("cat:", "Cat:", text)
  ggg$x$data[[i]]$text <- text
}
ggg