如何在不禁用geom_smooth的情况下构造悬停文本?

时间:2018-06-24 17:49:15

标签: r ggplot2 plotly ggplotly

代码

library(ggplot2)
library(plotly)

df<-data.frame(replicate(2,sample(2000,size=29,replace=TRUE)))
p <- ggplot(df, aes(x=X1, y=X2*1000,text=X1))+geom_point()+geom_smooth()
p <- ggplotly(p, tooltip="text")
print(p)

生成带有平滑线的预期图以及鼠标悬停显示X1值的点。

但是,将ggplot调用替换为:

ggplot(df, aes(x=X1, y=X2*1000,text=paste0("X1=",X1)))

尽管产生了鼠标悬停所期望的效果,但却无法产生平滑线。

这是一个错误吗?

有没有解决的办法?

1 个答案:

答案 0 :(得分:1)

尝试仅将美学text放在geom_point的美学规范之内。它应该让您自定义工具提示。尽管发出警告“警告:忽略未知的美学:文本”,但它会创建所需的工具提示。在text的美学内使用geom_point,在阴谋的官方页面上查看其他example

df<-data.frame(replicate(2, sample(2000, size = 29, replace = TRUE)))
p <- ggplot(df, aes(x = X1, y = X2 * 1000)) +  
  geom_point(aes(text = paste0("X1=", X1, " X2=", X2, " Whatever needed"))) +
  geom_smooth() 
ggplotly(p, tooltip = "text")

enter image description here