Traditional Pareto chart in ggplot2 .......
Developed after reading Cano, EL, Moguerza, JM, and Redchuk, A. (2012). Six Sigma with R. (G. Robert, K. Hornik and G. Parmigiani, Ed.) Springer.
library(ggplot2);library(grid) counts <- c(80, 27, 66, 94, 33) defects <- c("price code", "schedule date", "supplier code", "contact num.", "part num.") dat <- data.frame(count = counts, defect = defects, stringsAsFactors=FALSE ) dat <- dat[order(dat$count, decreasing=TRUE),] dat$defect <- factor(dat$defect, levels=dat$defect) dat$cum <- cumsum(dat$count) count.sum<-sum(dat$count) dat$cum_perc<-100*dat$cum/count.sum p1<-ggplot(dat, aes(x=defect, y=cum_perc, group=1)) p1<-p1 + geom_point(aes(colour=defect), size=4) + geom_path() p1<-p1+ ggtitle('Pareto Chart')+ theme(axis.ticks.x = element_blank(), axis.title.x = element_blank(),axis.text.x = element_blank()) p1<-p1+theme(legend.position="none") p2<-ggplot(dat, aes(x=defect, y=count,colour=defect, fill=defect)) p2<- p2 + geom_bar() p2<-p2+theme(legend.position="none") plot.new() grid.newpage() pushViewport(viewport(layout = grid.layout(2, 1))) print(p1, vp = viewport(layout.pos.row = 1,layout.pos.col = 1)) print(p2, vp = viewport(layout.pos.row = 2,layout.pos.col = 1))
Isaiah Oct 11 '12 at 12:28 2012-10-11 12:28
source share