簡體   English   中英

如何讓 ggplotly 顯示 geom_rect 系列的 hover 工具提示?

[英]How can I make ggplotly show hover tooltips for a geom_rect series?

我正在嘗試創建跨多個雇主的個人工資增長的交互式可視化。 我正在使用 geom_rect 系列來顯示工資期和工資信息。 當我應用 ggplotly function 時,hover 工具提示默認不顯示,我找不到啟用它們的方法。

我該怎么做才能在 geom_rect 上啟用工具提示?

數據:

df <- data.frame(
"From" = seq(as.Date("2016-01-01"), as.Date("2026-01-01"), by = 14),
"To" = seq(as.Date("2016-01-01"), as.Date("2026-01-01"), by = 14)+13,
"Employer" = c(rep("Current employer",130),rep("Future employer",131)),
"Salary" = seq(50000,250000,length.out = 261)
)

可見:

library(ggplot2)
library(dplyr)
library(plotly)
ggplotly(
ggplot(data = df) +
  geom_rect(aes(xmin = From, xmax = To,
                ymin = Employer, ymax = Employer,
                colour = Employer,
                size = Salary))
)

Output(無 hover 文本): 輸出

請注意,我還詢問了有關將范圍滑塊應用於此問題的相關問題。

在這種情況下geom_rect()與經典plotly元素(如點或條)相比,是一種特殊的美學元素。 這就是為什么即使啟用tooltip也無法獲得它們的原因。 您需要創建標簽,以便它們可以被識別為ggplotly()的已知元素,就像最初提到的那樣。 這里的代碼:

library(ggplot2)
library(dplyr)
library(plotly)
#Code
ggplotly(ggplot(data = df) +
  geom_rect(aes(xmin = From, xmax = To,
                  ymin = Employer, ymax = Employer,
                  colour = Employer,
                  size = Salary))+
  geom_line(aes(x = From,
                y = Employer,
                group = 1,
                text = paste("Date: ",
                             From, "<br>Salary: ", Salary)),
            color='transparent') + 
  geom_point(aes(x = From,
                 y = Employer,
                 text = paste("Date: ", From, "<br>Salary: ",
                              Salary)),
             color='transparent'),tooltip = 'text')

Output:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM