【问题标题】:I want ggplotly tooltip to only show the number on hover我希望 ggplotly 工具提示仅在悬停时显示数字
【发布时间】:2021-08-16 15:47:56
【问题描述】:

我有以下图表:

g <- ggplot(data1) +
        theme_bw()+
        theme(panel.grid = element_blank(), 
         #axis.text.x = element_text(vjust = 0.5),
         axis.text.y = element_blank(),
         axis.ticks.x = element_blank(),
         axis.ticks.y = element_blank(),
         axis.line.x = element_line(),
         axis.title.x =       element_blank(),
         axis.title.y =       element_blank(),
         panel.border =element_blank(),
         legend.position = "none") +

                geom_rect(aes(xmin = as.integer(Category) - w/2,xmax = as.integer(Category) + w/2, ymin = ymin, ymax = ymax,fill = Impact, Revnue = valuelabel),    
                    colour = "black") +
                    scale_x_discrete(limits = levels) +
                    scale_fill_manual(values = (c("Decrease" = "red", "Increase" = "green", "Total" = "black")))

g <- g +
    geom_segment(data = data1[1:(nrow(data1) -1),],aes(x = xmin,
                                                       xend = xmax,
                                                       y = ymin,
                                                       yend = ymin)) +
         coord_cartesian(xlim= c(min(as.integer(data1$Category)), max(as.integer(data1$Category))),ylim=c(max(data1$ymin)*0.9, max(c(data1$ymin*1.03,data1$ymax*1.03))))


yrevenuecords <- if (data1$Impact == "Decrease"){min(data1$ymin,data1$ymax)} else {max(data1$ymin,data1$ymax)}

    g <- g + geom_text(aes(x = as.integer(Category),
                           y = ifelse(Impact=="Decrease",ymin*0.99,ymin*1.01), label = css(valuelabel), PriorMonth = revpriormonth), colour = "black")
    
    g <- g + geom_text(aes(x = as.integer(Category),
                           y = max(c(ymin*1.02,ymax*1.02)), label = css(arpu)), colour = "black")
                           
    g <- g + geom_text(aes(x = as.integer(Category),
                           y = max(c(ymin*1.03,ymax*1.03)), label = css(lines)), colour = "black")                     
    
    g <- ggplotly(g, tooltip = c("PriorMonth") )

生成的工具提示如下所示:

revpriormonth: 5

有没有办法只提取没有文字的数字?我希望我的工具提示只显示 5 而之前没有 revpriormonth

感谢您的意见!

【问题讨论】:

  • 你能分享g是如何定义的吗?即g &lt;- ggplot(...)
  • @VitaminB16 已更新。

标签: r ggplot2 plotly


【解决方案1】:

看来您要使用的是text 作为geom_text 中的美学。

所以尝试在geom_text(aes()) 中添加text = revpriormonth,然后将tooltip 更改为tooltip = c("text")

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    相关资源
    最近更新 更多