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