ggplot:使用用户值的条形颜色渐变

时间:2016-11-15 20:20:52

标签: r ggplot2 colors geom-bar

我正在使用ggplot绘制以下数据框的列基因和logFC: 为简单起见,我省略了一些行

gene       variable        logFC       logP
CS, gltA    25:1 vs 5:1   -1.6443477   11.3492020
ACO, acnA   25:1 vs 5:1   -1.4393181   8.1938808
IDH3        25:1 vs 5:1   -1.6374355   5.0329107
LSC1        25:1 vs 5:1    0.6577531   0.5235756
CS, gltA    250:1 vs 5:1  -1.0587372   1.3417342
ACO, acnA   250:1 vs 5:1  -0.4354191   7.1746206
IDH3        250:1 vs 5:1  -0.9513132   5.6105933
LSC1        250:1 vs 5:1  -0.3871476   3.9403641

这是我的代码:

ggplot(tca_m, aes(gene,logFC))
last_plot()+geom_bar(aes(fill=tca_m$variable),width = 0.5, stat="identity",position = "dodge") 
last_plot()+ coord_flip()

给出了以下情节:plot.jpg

现在我想根据列logP的值使用颜色渐变来更改条形的颜色,并在变量列下为两个不同的变量遵循不同的颜色方案。这可能使用ggplot吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

对于aesthetic中的ggplot,我们不能有两种不同的比例。但是,我们可以使用scale_fill_distillerfacet_wrap来构建一个漂亮的情节:

ggplot(tca_m, aes(gene,logFC)) +
    geom_bar(aes(fill = logFC), stat="identity", position = "dodge", width = .5) +
    coord_flip() +
    scale_fill_distiller(palette = "RdBu") +
    facet_wrap(~variable, ncol = 1)

使用logFC fill变量显示上/下规则优于logP,但您可以使用您喜欢的那个。

enter image description here