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

R ggplot:使用用户值的条的颜色渐变,r,ggplot2,colors,geom-bar,R,Ggplot2,Colors,Geom Bar,我正在使用ggplot绘制以下数据帧的gene和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

我正在使用ggplot绘制以下数据帧的gene和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()
这给了我以下的情节:

现在,我想使用基于logP列值的颜色渐变来更改条的颜色,并在variable列下为两个不同的变量使用不同的颜色方案。这是否可能使用ggplot?
谢谢

ggplot
中,对于
美学
而言,我们不能有两种不同的尺度。但是,我们可以使用
scale\u fill\u diller
facet\u 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
显示更高/更低的调节,但是您可以使用您喜欢的任何一种


谢谢你,内森!我考虑过使用facet_wrap,但只是想看看是否有一种方法可以将它们绘制在一起。此外,我使用logFC进行上/下调节,但只是想在这个图上烘焙logP(实际上是-logFDR)以显示重要性水平。您可以指定
颜色
,并允许寄宿者显示不同的组,如果您愿意,并将其保留在一个图上