我正在尝试将n个连续的图表排列成一个单独的图表矩阵。我通过运行for循环来获取第一组图表,但我无法弄清如何将它们排列成“图表矩阵”。我已经使用了par(mfrow=c(num.row,num.col)),但它不起作用。另外还有multiplot(plotlist = p, cols = 4)和plot_grid(plotlist = p)。
#import dataset
Survey<-read_excel('datasets/Survey_Key_and_Complete_Responses_excel.xlsx',
sheet = 2)
#Investigate how the dataset looks like
glimpse(Survey)#library dplyr
#change data types
Survey$brand <- as.factor(Survey$brand)
Survey$zipcode <- as.factor(Survey$zipcode)
Survey$elevel <- as.factor(Survey$elevel)
Survey$car <- as.numeric(Survey$car)
#Relation brand-variables
p = list()
for(i in 1:ncol(Survey)) {
if ((names(Survey[i])) == "brand"){
p[[i]]<-ggplot(Survey, aes(x = brand)) + geom_bar() +
labs(x="Brand")
} else if (is.numeric(Survey[[i]]) == "TRUE"){
p[[i]]<-ggplot(Survey, aes(x = Survey[[i]], fill=brand)) + geom_histogram() +
labs(x=colnames(Survey[i]))
} else {
p[[i]]<-ggplot(Survey, aes(x = Survey[[i]], fill = brand)) + geom_bar() +
labs(x=colnames(Survey[i]))
}
}
我认为图表已经正确地添加到列表中,但我无法以矩阵形式绘制它们。
ggpubr
包中的ggarrange()
函数可能对你有用。它可以轻松地排列网格中的图形。 - Knak