使用对数转换色标时的 ggplotly 鼠标值

ggplotly mouse values while using a log-transformed color scale

在下面的最小示例中,色标经过对数转换,将鼠标悬停在栅格上方时显示的 z 值也经过对数转换。 这是非常没有信息意义的,我需要用与比例图例相同的单位来表示。

是否可以避免自动进行这种转换?

library(plotly)
library(reshape2)
library(RColorBrewer)

myPalette <- colorRampPalette(brewer.pal(11, "Spectral"))

p <- volcano %>%
  melt() %>% 
  ggplot(aes(Var1, Var2, fill = value)) + geom_tile() +
  scale_fill_gradientn(colours = rev(myPalette(100)), trans="log")

ggplotly(p)

解决方法是,我刚刚添加了 text = paste("Value:", value) 部分(不受日志影响):

p <- volcano %>%
  melt() %>% 
  ggplot(aes(Var1, Var2, fill = value, text = paste("Value:", value))) + geom_tile() +
  scale_fill_gradientn(colours = rev(myPalette(100)), trans="log")

ggplotly(p, tooltip = c("Var1", "Var2", "text"))

tooltip 控制悬停时显示的内容。