ggplot2如何更改色条标签

4

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

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

现在为了看到细节,我更喜欢使用平方根刻度。但是如果我将fill = value改成fill = sqrt(value),那么色条的范围也会改变(例如,原来是c(0,100),现在是c(0,10))。我想要的是绘制sqrt(value),但仍然使用value的色条。我查看了guide_colorbar(),但只有一个关于是否显示标签的参数,没有任何关于如何设置自己标签的参数。
1个回答

5

使用scale_fill_gradienttrans参数:

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

这是一个使用以下数据的样本图表:

(这里保留了HTML标签)
x <- matrix(1:16, 4, 4)

enter image description here

正如您所看到的,trans 转换了图表和色条的数据,因此您的颜色比例尺将被根转换,但您仍然可以将颜色识别为其原始值。


非常感谢,我使用的手册只提供了在x和y轴上的转换。从未想过它也可以用于scale_fill_**,帮了我很多,再次感谢! - 163

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接