r语言怎么用ggplot画帕累托图
时间: 2023-09-02 07:12:18 浏览: 144
使用ggplot2包可以很方便地绘制帕累托图。下面是一个示例代码:
```r
library(ggplot2)
# 创建数据框
df <- data.frame(category = c("A", "B", "C", "D", "E"),
value = c(20, 15, 10, 5, 50))
# 计算累计百分比
df$cumulative <- cumsum(df$value)
df$percentage <- df$cumulative / sum(df$value)
# 绘制帕累托图
ggplot(df, aes(x = category, y = percentage)) +
geom_bar(stat = "identity", fill = "#4C72B0") +
geom_line(aes(y = cumulative / sum(df$value)), color = "#55A868", size = 1.5) +
scale_y_continuous(labels = scales::percent) +
labs(title = "帕累托图", x = "类别", y = "累计百分比") +
theme_bw()
```
解释一下上面的代码:
1. 首先创建一个数据框,包含类别和值两列数据。
2. 计算累计百分比和每个类别的百分比。
3. 使用ggplot函数创建一个ggplot对象。
4. 使用geom_bar函数绘制柱状图,aes函数指定x轴为类别,y轴为每个类别的百分比。
5. 使用geom_line函数绘制累计百分比曲线,aes函数指定y轴为累计百分比,注意需要将累计百分比除以总值得到百分比。
6. 使用scale_y_continuous函数将y轴标签格式化为百分比。
7. 使用labs函数指定图表标题和轴标签。
8. 使用theme_bw函数设置图表主题为黑白主题。
运行上面的代码,就可以得到一个简单的帕累托图。您可以根据需要调整颜色、字体、字号等参数来美化图表。
阅读全文