geom_tile 不同因素的不同渐变比例和颜色

Ahd*_*dee 1 r ggplot2

嗨,我想绘制以下数据框。

d<- data.frame (pid=c("d","b","c"), type=c("rna","rna","rna"), value = c(1,2,3) )
d2 <- data.frame (pid=c("d","b","c"), type=c("dna","dna","dna"), value = c(10,20,30) )
df <- rbind (d,d2)

 ggplot(df, aes(y=pid, x=type  ) ) + geom_tile(aes(fill = value),
  colour = "white") + scale_fill_gradient(low = "white",
  high = "steelblue") 
Run Code Online (Sandbox Code Playgroud)

这会产生一个看起来像这样的情节, 在此处输入图片说明

但是,我希望每个 x 因子都有自己的颜色渐变,因此理想情况下 rna 是蓝色到白色,而 dna 是红色到白色。有没有办法做到这一点?如果不同的梯度是不可能的,那么不同的尺度呢?谢谢!

bde*_*est 5

这是将@Brian 的建议应用于您的原始示例的样子。您可能希望分别重新调整rnadna值,以使颜色范围更具可比性。

p = ggplot(df, aes(y=pid, x=type, fill=type, alpha=value)) +
    geom_tile(colour="white", size=1) + 
    scale_fill_manual(values=c(dna="salmon", rna="steelblue")) +
    theme_bw() +
    theme(panel.grid=element_blank()) +
    coord_cartesian(expand=FALSE)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明