Вы можете использовать библиотеку gridExtra
.
df <- read.table(text = "loan_amnt term grade sub_grade home_ownership verification_status d_status
7000 60_months C C5 RENT Not_Verified Not_Defaulted
6500 60_months C C3 OWN Not_Verified Not_Defaulted
12000 36_months B B5 OWN Verified Defaulted
9000 36_months C C1 RENT Verified Not_Defaulted
1000 36_months D D1 RENT Not_Verified Defaulted",
header = TRUE)
library(ggplot2)
library(scales)
g1 <- ggplot(df, aes(x = term, fill = d_status)) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels = percent) +
ylab("") +
theme(strip.text.x = element_blank(),
legend.position=c(0.85, 0.9))
g2 <- ggplot(df, aes(x = grade, fill = d_status)) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels = percent) +
ylab("") +
theme(strip.text.x = element_blank(),
legend.position=c(0.85, 0.9))
g3 <- ggplot(df, aes(x = verification_status, fill = d_status)) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels = percent) +
ylab("") +
theme(strip.text.x = element_blank(),
legend.position=c(0.85, 0.9))
library(gridExtra)
grid.arrange(g1, g2, g3, nrow = 1)
Результат:
![Stacked bars with percentage](https://i.stack.imgur.com/VGxtk.png)