嗨,我想绘制以下数据框。
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 是红色到白色。有没有办法做到这一点?如果不同的梯度是不可能的,那么不同的尺度呢?谢谢!
这是将@Brian 的建议应用于您的原始示例的样子。您可能希望分别重新调整rna和dna值,以使颜色范围更具可比性。
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)
| 归档时间: |
|
| 查看次数: |
5218 次 |
| 最近记录: |