使用对数转换色标时的 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
控制悬停时显示的内容。
在下面的最小示例中,色标经过对数转换,将鼠标悬停在栅格上方时显示的 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
控制悬停时显示的内容。