ggplot2 更改颜色条标签

ggplot2 change colorbar label

我想绘制一个矩阵。为了清楚地看到低值,代码如下。

p <- ggplot(data = melt(x))
p + geom_tile(aes(x=Var2,y=Var1,fill = value))

现在为了看到细节,我更喜欢使用平方根尺度。 但如果我改变 fill = value 补= sqrt(value) 颜色条范围也会改变(例如,原来是c(0,100),现在是c(0,10))。

我想要的是绘制sqrt(value)但仍然使用value

的颜色条

我查了guide_colorbar()但是只有是否显示标签的争论,没有关于如何设置自己的标签的争论

使用 scale_fill_gradienttrans 参数:

p + 
    geom_tile(aes(x = Var2, y = Var1, fill = value)) + 
    scale_fill_gradient(trans = "sqrt")

这是一个示例图,使用了以下数据:

x <- matrix(1:16, 4, 4)

如您所见,trans 转换绘图和颜色条的数据,因此您的色标将进行根转换,但您可以将颜色识别为其原始值。