[转载]R学习笔记:如何自定义ggplot2中各组数据输出的次序

标签:
转载 |
今天在用R绘制多组boxplot时碰到一个问题:如何自定义boxplot各组的输出次序?
问题描述:
ups<-read.delim("e:\test.txt");
ups.melt<-melt(ups,id.var="exp");
p<-ggplot(data=ups.melt,
aes(x=exp,y=value,fill=variable))+geom_boxplot(alpha=0.8);
p绘制的结果如下:
ups的表头如下:
可以发现ups$exp的因子水平是按照默认的ASCII码排序的,boxplot输出的次序是:UPS2mouse,
UPS2only, UPS2yeast
但是我想要的次序是UPS2only, UPS2yeast,
UPS2mouse,因此需要重新定义exp的因子水平
这里只需调整melt之后的因子水平即可:
ups.melt$exp=factor(ups.melt$exp,
levels=c("UPS2only","UPS2yeast","UPS2mouse"));
#修改exp的因子水平顺序,从而确定X轴输出的顺序
调整后再运行ggplot2的绘图命令:
p<-ggplot(data=ups.melt,
aes(x=exp,y=value,fill=variable))+geom_boxplot(alpha=0.8);
结果如下:
==================================================================
下面转载一个相关的帖子:
初始图样:
http://img.blog.csdn.net/20150819231056354
如何修改柱条的宽度:
http://img.blog.csdn.net/20150820001948284
如何修改柱条的顺序:
http://img.blog.csdn.net/20150820002706663
如何在柱条上添加文字:
http://img.blog.csdn.net/20150820004010656