[英]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
或带有tooltip
的aes
中的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.