使用 R 中的 ggplot2 创建 Y 轴上带有百分比的堆积条形图。

r programmingserver side programmingprogramming更新于 2024/11/6 23:45:00

要使用 R 中的 ggplot2 创建 Y 轴上带有百分比的堆积条形图,我们可以在 geom_bar 中使用填充参数,并将第二个分类变量的位置设置为填充。

例如,如果我们有一个名为数据框的数据框,其中包含两个分类列,例如 C1 和 C2,那么我们可以使用下面提到的命令 − 创建 Y 轴上带有百分比的堆积条形图

ggplot(df,aes(C1))+geom_bar(aes(fill=C2),position="fill")

示例

以下代码片段创建了一个示例数据框 −

f1<-sample(LETTERS[1:3],20,replace=TRUE)
f2<-sample(letters[1:2],20,replace=TRUE)
df<-data.frame(f1,f2)
df

创建以下数据框

  f1 f2
 1 B b
 2 C a
 3 A b
 4 A a
 5 A a
 6 C a
 7 B a
 8 B a
 9 C b
10 B a
11 A a
12 C a
13 A b
14 C b
15 C a
16 B b
17 A b
18 B a
19 A a
20 C a

要加载 ggplot2 包并在上面创建的数据框中为 f1 和 f2 列创建堆积条形图,Y 轴上显示百分比,请将以下代码添加到上面的代码片段中 −

f1<-sample(LETTERS[1:3],20,replace=TRUE)
f2<-sample(letters[1:2],20,replace=TRUE)
df<-data.frame(f1,f2)
library(ggplot2)
ggplot(df,aes(f1))+geom_bar(aes(fill=f2),position="fill")

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −


相关文章