在R中绘制条形图/柱状图

时间:2020-07-11 16:31:46

标签: r ggplot2 plot geom-bar geom-col

我正在尝试以下绘图。

我有以下数据集:

Pathway   Value    Col.Code
AKTSig        1         r
HRAS          2         r
Lbind         3         h
GPCRact       4         r
ACHsig        5         h
ACEest        -2        r
MRNAspl       -3        h
Notch         -4        h
Delta         -5        r
Sonic         -6        r 

我想绘制一个图形,其中的这些列沿x轴具有路径,值y轴,并且这些列由Col.Code列着色。我从ggplot2尝试过geom_col(),但这总是将列重新排列为随机顺序,即不是最大值到最负数。我也尝试过geom_bar(),但这会为路径创建计数,并且不会绘制我上面描述的内容。

2 个答案:

答案 0 :(得分:3)

您可以使用此:

library(dplyr)

ggplot(data,aes(x=reorder(Pathway,-Value),y=Value,fill=Col.Code))+geom_bar(stat='identity')

enter image description here

答案 1 :(得分:1)

另一种方法是使用fct_reorder软件包中的forcats

library(forcats)
ggplot(data,aes(x=fct_reorder(Pathway,-Value),y=Value,fill=Col.Code)) + 
  geom_bar(stat='identity') + 
  labs(x = "Pathway")

enter image description here