2013-01-11 15 views
3

I have a dataset具有制造单位的唯一ID,其产出的工业分类(CAT)和每个单位使用的人数(EMP)。我想以图形方式显示EMP因CAT而异,即就业规模一般因单位产出的种类而异。我试图通过中间EMP安排箱线图:R:可视化大量组别间的差异

a = read.csv("/filepath/plot.csv", header=T, stringsAsFactors=F) 
bymedian = with(a, reorder(CAT, log(as.numeric(as.character(EMP))), median)) 
boxplot(log(EMP) ~ bymedian, data=a, horizontal=F, notch=T, pch=1, cex=.25, col="gray95", boxwex=.25, las=2, outline=F) 
pch=1, cex=.25, col="gray95", boxwex=.25, las=2, outline=F) 

的问题是,由于大量的类(400+),剧情变得非常混乱。有没有更清晰的方式来展示我想要做的事情?

回答

3

使用ggplot2你能证明你正在尝试用scale_x_discrete

enter image description here

library(ggplot2) 
a$bymedian = with(a, reorder(CAT, log(EMP), median)) 
p <- ggplot(a,aes(y=log(EMP),x=bymedian))+ 
    geom_boxplot() 

breaks <- levels(a$bymedian)[seq(1,nlevels(a$bymedian),20)] 
p %+% scale_x_discrete(breaks = breaks, labels = breaks) 
+0

喜agstudy做...我得到这个错误:“错误seq.default(1, nlevels(a $ bymedian),20): 错误登录'by'参数“ – user702432

+0

我通过中性添加到您的data.frame a。我更新了我的答案 – agstudy

+0

非常好。非常感谢。 – user702432