ggplot始终使用默认配色方案,自定义颜色渐变不生效问题
问题解决:ggplot颜色渐变不生效的原因及修复
你遇到的问题根源是映射属性与刻度函数不匹配:
- 在
geom_raster的aes参数中,你把数据映射到了fill=value(图形填充色) - 但调用的是
scale_color_gradient2,这个函数仅负责调整color(边框/线条颜色)的渐变,和填充色完全无关,所以默认填充配色不会被覆盖
修正后的代码只需将刻度函数替换为对应填充色的版本:
sp <- ggplot(data=Foo) + geom_raster(aes(x=Var1,y=Var2,fill=value)) + labs(fill="Temperature") sp + scale_fill_gradient2(midpoint = mid, low = "blue", mid = "magenta", high = "red", space = "Lab" )
简单总结:ggplot里,fill对应区域填充色,需用scale_fill_*系列函数调整;color对应边框/线条颜色,用scale_color_*系列函数调整,两者不能混用。
内容的提问来源于stack exchange,提问作者Fish_Person
相关产品推荐
相关产品推荐

