问题描述
我在最初由ggplot2
制作的绘图中添加了一层点,但是我通过
plotly
打包成一个绘图对象。悬停显示我不需要的信息(点坐标),并且有几个o变量需要显示其值,但找不到解决方法。
下一个示例显示了我的问题。我将ggplot2
图转换成plotly
图,如下所示:
library(ggplot2)
library(plotly)
p1 <- ggplot(iris,aes(Sepal.Length,Petal.Width))+
geom_smooth()
ggplotly(p1)
然后,我想添加一个包含一些点的层并将某些信息放入悬停中,以便我可以识别每个点是哪种物种。我的意思是我希望“物种”信息出现在悬停中,而又不将变量“物种”置于ggplot()
函数的美感中。
我最近去过的地方是这个,但它也不起作用:
ggplotly(p1) %>%
add_markers(data=iris[1:10,],x=~Sepal.Length,y=~Petal.Width) %>%
style(hoverlabel="Species")
我想知道是否有可能将其他变量的值放置在美学设置之外,以及是否可以删除不需要的变量。
解决方法
执行以下操作会将物种添加到现有标签中:
p1 <- ggplot(iris,aes(Sepal.Length,Petal.Width))+
geom_smooth()
ggplotly(p1) %>%
add_markers(data=iris[1:10,],x=~Sepal.Length,y=~Petal.Width) %>%
style(hovertext=iris[1:10,"Species"])
对于将工具提示文本构建到ggplot here的美学元素中的类似问题,也有很好的答案。在我所做的测试中,如果您在美学上要点label
中指定变量,那么ggplotly(p1)
会将其添加到现有标签中。如果不是,请致电ggplotly(p1,tooltip="label")
,这将仅在工具提示中打印Species: <species>
。如果您在美学要点上指定label
而不是text
,然后调用ggplotly(p1,tooltip="text")
,您将在工具提示中获得物种名称本身。