2015-05-04 126 views
4

我想绘制一个矩阵。为了清楚地看到低值,代码如下所示。ggplot2更改颜色条标签

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()的彩条,但有关于是否显示标签,没有关于如何设置自己的标签参数唯一理由。

回答

5

使用trans说法的scale_fill_gradient

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

这里的样地,使用下面的数据:

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

enter image description here

正如你所看到的,trans转换数据对于情节和颜色条,所以你的颜色标度将被根变换,但你可以识别他们的颜色原始值。

+0

真的非常感谢你,我使用的manul只提供x和y轴的trans。从来没有想过它也可以用于scale_fill _ **,帮助我很多,再次感谢! – 163