代码
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)))
尽管产生了鼠标悬停所期望的效果,但却无法产生平滑线。
这是一个错误吗?
有没有解决的办法?
答案 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")