0

我正在 ggplot 中绘制条形图:

ggplot(fastqc.dat,aes(y=fastqc.dat$ReadCount,x=fastqc.dat$Sample)) + geom_bar(stat="identity",position="identity",fill="darkblue") + xlab("Samples") + ylab("Read Counts") + opts(axis.text.x=theme_text(angle=-90))

我的文件“fastqc.dat”如下所示:

             Sample        ReadCount
 201304950-01_ATTCAGAA_R1  27584682
 201304951-01_GAATTCGT_R1  25792086
 201304952-01_CTGAAGCT_R1  36000000
 201304953-01_GAGATTCC_R1  35634177
 201304954-01_ATTACTCG_R1  88906701

它产生以下情节: 在此处输入图像描述

但我想根据读取计数(即 Y 轴)对条形图重新排序。我尝试了很多事情,但它不会发生。我什至尝试根据 ReadCount 列对 fastqc.dat 进行排序。有什么建议么?

4

2 回答 2

2

...因此,将有用的建议汇总在一起,一种解决方案是:

fastqc.dat$Sample <- factor(fastqc.dat$Sample,
                            levels=fastqc.dat$Sample[order(fastqc.dat$ReadCount)])

而不是使用你的代码......

高温高压

于 2013-08-27T20:41:33.617 回答
-4

我让它工作。我必须将 aes(x=fastqc.dat$Sample) 添加到 geom_bar() 如下:

fastqc.dat$Sample <-factor(fastqc.dat$Sample, levels=fastqc.dat[order(fastqc.dat$ReadCount), "Sample"])

ggplot(fastqc.dat,aes(x=fastqc.dat$Sample,y=fastqc.dat$ReadCount)) + geom_bar(aes(x=fastqc.dat$Sample),stat="identity",position="identity",fill="darkblue") + xlab("Samples") + ylab("Read Counts") + opts(axis.text.x=theme_text(angle=-90))

这将条形图排列在 X 轴上。

于 2013-08-27T20:34:27.230 回答