使用R中的ggplot2创建Y轴显示百分比的堆叠条形图。


要使用R中的ggplot2创建Y轴显示百分比的堆叠条形图,我们可以在geom_bar内使用fill参数,并将第二个分类变量与position设置为fill。

例如,如果我们有一个包含两个分类列(例如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")

输出

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

更新于:2021年11月8日

992 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.