如何在R中使用geom_raster更改颜色?

7
我将尝试更改热力图中的颜色。我想使用黄色和红色的颜色方案,而不是默认的蓝色-深蓝色。
我的代码:
a=as.matrix(volcano, ncol=ncol(volcano))
row.names(a)= 1:nrow(a)
library(reshape2)
a1 = melt(a)
colnames(a1) = c('X','Y','value')
head(a1)

library(ggplot2)
ggplot(a1,aes(x = X, y = Y)) +
  geom_raster(aes(fill = value),interpolate=TRUE) +
  scale_colour_gradient2(low="yellow", high="red", guide="colorbar")

我得到了以下输出结果,我希望使用不同的颜色方案。我不确定为什么最后一行——scale_colour_gradient没有生效。这里的其他示例都有这一行,但是使用 geom_tile 函数。

Output plot of above code


5
尝试使用 scale_fill_gradientn(colours=c("yellow","red"))。详见此帖子 - mnm
只需将 scale_colour_ 修改为 scale_fill 即可。 - Richard Telford
谢谢大家。两种解决方案都有效。 - Raghav Agarwal
1个回答

1

当您在美学中使用fill时,您必须使用scale_fill_gradient进行填充颜色。当颜色在美学中指定时,您必须使用scale_color_gradient


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