ggplot2更改colorbar标签

163*_*163 4 r scale ggplot2 colorbar

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

p <- ggplot(data = melt(x))
p + geom_tile(aes(x=Var2,y=Var1,fill = value))
Run Code Online (Sandbox Code Playgroud)

现在为了查看细节,我更喜欢使用平方根比例.但是如果我 fill = value改为填充= sqrt(value) 颜色条范围也会改变(例如,原始是c(0,100),现在是c(0,10)).

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

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

Joe*_*Joe 5

使用以下trans参数scale_fill_gradient:

p + 
    geom_tile(aes(x = Var2, y = Var1, fill = value)) + 
    scale_fill_gradient(trans = "sqrt")
Run Code Online (Sandbox Code Playgroud)

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

x <- matrix(1:16, 4, 4)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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