首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ggplot2从qcc包中重现pareto.chart图?

问如何使用ggplot2从qcc包中重现pareto.chart图?
EN

Stack Overflow用户
提问于 2012-04-13 18:15:09
回答 1查看 10.2K关注 0票数 7

我一直在R中使用qcc包中的pareto.chart函数,我真的很喜欢它。现在,我想将我所有的图形移植到ggplot2包中。然而,尽管有很好的文档,但我对ggplot2的了解非常有限,所以我不能弄清楚所有的细节。基本上我想要一个像这样的图

​

​

而是使用ggplot2包制作的。生成绘图的代码如下所示:

代码语言:javascript
复制
    library(qcc)
    defect <- c(80, 27, 66, 94, 33)
    names(defect) <- c("price code", "schedule date", "supplier code", "contact num.", "part num.")
    pareto.chart(defect, ylab = "Error frequency", col=heat.colors(length(defect)))

有人有解决这个问题的办法吗?在here之前已经讨论过帕累托图,但结果看起来与我想要的并不相似。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-13 18:51:56

这就是了:

代码语言:javascript
复制
library(ggplot2)

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)
dat

ggplot(dat, aes(x=defect)) +
  geom_bar(aes(y=count), fill="blue", stat="identity") +
  geom_point(aes(y=cum)) +
  geom_path(aes(y=cum, group=1))

​

​

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10139007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档