【问题标题】:custom colour scaling with ggplot2 in R在 R 中使用 ggplot2 自定义颜色缩放
【发布时间】:2014-11-29 22:25:54
【问题描述】:

我有这个代码:

require(reshape2)
library(ggplot2)
library(RColorBrewer)

df <- read.csv("https://dl.dropboxusercontent.com/u/73950/moduVSmnc.csv")
breaks1 <- seq(1.85,2.5,by=0.05)

gg <- aggregate(mnc~cut(apl,breaks=breaks1,
labels=format(breaks1[-1],nsmall=2))+modu,df,mean)

colnames(gg)<- c("apl","modu","mnc")
gg$modu <- as.factor(gg$modu)
library(ggplot2)
library(RColorBrewer)
ggplot(gg) + 
  geom_tile(aes(x=modu,y=apl,fill=mnc))+
  scale_fill_gradientn(colours=rev(brewer.pal(10,"Spectral"))) +
  coord_fixed()

产生:

现在,我希望此图将所有低于 40 的值显示为深蓝色(好像值为 0),然后开始平稳地移动到绿色、黄色、橙色、红色和深红色(酿酒商的光谱色标)直到最大值。

如何用 ggplot2 实现这一点?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    我不确定我是否正确理解了您的问题。为什么不将所有 mnc

    gg$mnc2<-gg$mnc
    gg$mnc2[gg$mnc2<40]<-40
    
    
    ggplot(gg) + 
      geom_tile(aes(x=modu,y=apl,fill=mnc2))+
      scale_fill_gradientn(colours=rev(brewer.pal(11,"Spectral"))) +
      coord_fixed()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-29
      • 2017-01-20
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 2021-12-28
      相关资源
      最近更新 更多