Ns

Rのカウプロットグリッドの1つの共有凡例



One Shared Legend Cowplot Grid R



解決:

これを行う方法を示すビネットがあります。

アプローチは、凡例を非表示にしてプロットを作成することですtheme(legend.position = 'none')。次に、それらのオブジェクトの1つから凡例のgrobを抽出します。



グロブ<- ggplotGrob(pfour)$grobs legend <- grobs[[which(sapply(grobs, function(x) x$name) == 'guide-box')]]  

次に、凡例を別の「プロット」としてプロットします。凡例を右側に表示するには、次のようにします。

#凡例のないグリッドを構築するpgrid<- plot_grid(pone, ptwo, pthree, pfour, ncol = 2) # add legend p <- plot_grid(pgrid, legend, ncol = 2, rel_widths = c(1, .1))   

あなたが使用することができますからのggarrange関数ggpubrパッケージ。論理的な議論がありますcommon.legend。あなたはそれを設定する必要がありますNS。あなたの場合、コードチャンクは次のようになります。



library(ggpubr)ggarrange(ponezoom、ptwozoom、pthreezoom、pfourzoom 、、 labels = c( 'A'、 'B'、 'C​​'、 'D')、common.legend = T)

の例を参照してくださいmtcarsデータセット:

library(tidyverse)library(ggpubr)#最初のプロットを作成するmtcars%>%ggplot(aes(mpg、hp、color = factor(cyl)))+ geom_point(size = 2)+ theme_minimal()-> plot1#2番目のプロットを作成するmtcars%>%ggplot(aes(disp、drat、color = factor(cyl)))+ geom_point(size = 2)+ theme_minimal()-> plot2#グリッドを作成ggpubr :: ggarrange(plot1、plot2、#プロットのリストlabels = 'AUTO'、#labels common.legend = T、#COMMON LEGEND legend = 'bottom'、#legend position align = 'hv'、#両方を揃える、水平および垂直nrow = 2)#行数

三:

ここに画像の説明を入力してください