在 R 中绘制 bar/colum 图

Plotting a bar/colum plot in R

我正在尝试以下绘图。

我有这个数据集:

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() 但这会为路径创建计数并且不会绘制我上面描述的内容。

你可以使用这个:

library(dplyr)

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

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

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