使用patchwork :: wrap_plots增加图的高度

问题描述

我正在使用patchwork :: wrap_plots()输出ggplots列表。由于该列表是动态的,并且并不总是拥有相同数量的地块,因此,我需要找到一种方法来调整地块的高度,以免压扁某些地块。

服务器部分中的代码

output$attribute_plot<- renderPlot(analyze_demographics(demographics_table,selectedDemographicAttribute(),categories_df))

output$attribute_category_plot<-renderPlot(analyze_demographics(summary_demographics_table,categories_df))
output$display_questions_table<-renderTable(questions_table[,1:3],rownames=FALSE,colnames=FALSE)

在ui部分


tabItem (tabName = "demographic_analysis",selectInput("selected_attribute",label = h4("Select Demographic Attribute"),choices = categories_list,selected = 1),hr(),column(width=6,plotOutput('attribute_category_plot')),plotOutput('attribute_plot')),Box(width=12,solidHeader=FALSE,tableOutput('display_questions_table')
                                         )
                                   )

输出看起来像这样。

enter image description here

如您所见,右侧的图被压缩。

图形代码

plot_list<-list()
    for(n in 2:ncol(temp_df)){
      df<-data.frame(temp_df[,n])
      parameter<-colnames(temp_df)[n]
      rownames(df)<-rownames(temp_df)
      names(df)[1]<-parameter
        g<-ggplot(df) +
          geom_point(aes(x=rownames(df),y=df[,1]))+
          coord_flip()+
          geom_segment(aes(yend=df[,1],xend=rownames(df),x=rownames(df),y=0)) +
            labs(title = paste(parameter),y='Average score',caption = attribute) + 
          theme(legend.position = 'none',panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.background = element_rect(fill = color_palette[5]),plot.title=element_text(size=18,face="bold",family="Arial",color=color_palette[1],hjust=0.5,lineheight=1.2),# title
                axis.title.y=element_blank(),# X axis title
                axis.title.x=element_text(size=12,color=color_palette[1]),axis.text.x=element_text(size=10,color=color_palette[3],vjust=.5),axis.text.y=element_text(size=15,lineheight = 20,axis.ticks.y = element_blank())+
          scale_x_discrete()
          g
        plot_list[[n-1]]<-g
    }
    plot_length<-length(plot_list)
    multi_plot<-patchwork::wrap_plots(plot_list,nrow=plot_length,ncol=1)

谢谢您的时间

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)