1

我正在尝试以下绘图。

我有这个数据集:

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

4

2 回答 2

3

你可以使用这个:

library(dplyr)

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

在此处输入图像描述

于 2020-07-11T16:36:43.717 回答
1

另一种方法是使用fct_reorderforcats

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

在此处输入图像描述

于 2020-07-11T17:43:19.180 回答