从悬停文本中删除列名称

时间:2016-04-14 21:17:29

标签: r plotly ggplotly

如何删除下图中hovertext中的cyl:

library(plotly)
ggplotly(ggplot(mtcars, aes(mpg, hp, colour = cyl)) + geom_point(),
         tooltip = c("colour"))

enter image description here

2 个答案:

答案 0 :(得分:1)

可能有一种更优雅的方式,但您可以尝试:

b <- ggplotly(ggplot(mtcars, aes(mpg, hp, colour = cyl)) + geom_point(),
          tooltip = c("colour"))
p <- plotly_build(b) 
p$data[[1]]$text
library(stringr)
p$data[[1]]$text <- str_sub(p$data[[1]]$text,-2,-1)
p

您只需要替换所需的其他内容时显示的文字。在您的示例中,我只是提取了最后一位数字。

答案 1 :(得分:0)

您可以使用text美学来显示没有列名称的值:

library(plotly)
ggplotly(ggplot(
  mtcars, 
  aes(mpg, hp, colour = cyl, text = cyl)) + geom_point(),
  tooltip = c("text")
))

您还可以使用text粘贴字符串或样式,而不会将此代码显示为&#34;列名称&#34;:

ggplotly(ggplot(
  mtcars, 
  aes(mpg, hp, colour = cyl, text = paste("Cylinders: ", cyl)) + 
    geom_point(),
  tooltip = c("text")
)) 

它的记录不是很完整,但请参阅here了解更多信息。