繁体   English   中英

ggplotly hover 文本不适用于 geom_dotplot

[英]ggplotly hover text doesn't work with geom_dotplot

我想将 hover 文本注释添加到 R 中的点 plot。 但是 ggplotly 似乎不适用于 geom_dotplot。

我希望最终的点图看起来像这样:

df <- data.frame(year = c("2000", "2005", "2005", "2010", "2010", "2010"), name = c("George", "Michael", "Bob ”、“詹姆斯”、“威尔”、“法布里齐奥”))

ggplot(df, aes(x = year)) + geom_dotplot(, stackratio = 1, fill = "darkgreen", stackgroups = TRUE) 在此处输入图像描述

但是我希望在给定点上出现 hover 时出现“名称”数据。

以下代码适用于其他图形(例如 geom_point),但使用 geom_dotplot 时外观会完全改变,并且 hover 文本不起作用:

ggplotly(ggplot(df, aes(x = year, text = paste(name))) + geom_dotplot(, stackratio = 1, fill = "darkgreen", stackgroups = TRUE, binpositions="all"), tooltip = "text" ) 在此处输入图像描述

对此的任何帮助将不胜感激。 谢谢你。

芦苇

根据文档,似乎无法在 ggplotly 中使用geom_dotplot创建ggplotly文本。 当您检查此文档时,您会看到给定的选项都没有悬停在标签上。 即使使用label或带有tooltipaes中的text似乎也不起作用。

作为一个选项,也许您想使用fill来显示如下名称:

library(ggplot2)
library(plotly)
p <- ggplot(df, aes(x = year, fill = name)) + 
  geom_dotplot(stackratio = 1, stackgroups = TRUE)

ggplotly(p)

Output:

在此处输入图像描述

如果 hover 文本不适用于geom_dotplot ,那么另一种解决方案是制作一个看起来像点 plot 的散点图 plot:

df <- data.frame(
    year = c("2000", "2005", "2005", "2010", "2010", "2010"),
    name = c("George", "Michael", "Bob", "James", "Will", "Fabrizio"),
    position = c("1", "1", "2", "1", "2", "3"))

p <- ggplot(df, aes(x = year, y = position,  text = paste(name)))
     + geom_point(colour = "darkgreen", alpha = .3, size = 5)
     + scale_y_continuous(limits = c(0, 10))
     + theme(axis.text.y=element_blank(),axis.ticks.y=element_blank(), 
     axis.title.y = element_blank())

ggplotly(p, tooltip = "text")

在此处输入图像描述

(hover 文本在 StackOverflow 预览中不起作用,但在 R Studio 中起作用。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM