R语言作图时,默认情况下软件会按照自己的方式对坐标轴的项目进行排序,然而这种排序往往不是我们所希望的,因此需要想办法让坐标轴的项目按照我们希望的顺序输出。
如下所示,我有两列数据,要绘制箱线图,以第一列为Y轴,第二列为X轴,希望X轴的输出顺序按照第二列由上到下排列。
1 2 3 4 5 6
| size type 6.612309456 T-8 5.878857613 T-10 6.724282265 T-15 5.68136692 T-56 5.863334656 T-1723
|
然而软件输出的顺序如下:
1
| T-10 T-15 T-1723 T-56 T-8
|
解决方案:
通过一个因子事先自定义X轴顺序,作图命令如下:
1 2 3 4 5 6
| gsize <- read.delim("gsize.txt", header=TRUE, sep="\t", stringsAsFactors=FALSE)
x1 = factor(gsize$type, levels=c("T-8","T-10","T-15","T-56","T-1723"))
boxplot(size~x1, data=gsize, xlab="Sequence Type", ylab="Genome Size", varwidth=TRUE, notch=FALSE)
|
至此,X轴各项目会按照我们自定义的顺序排列。