gpt4 book ai didi

r - R 中牛图网格的一个共享图例

转载 作者:行者123 更新时间:2023-12-04 03:49:54 26 4
gpt4 key购买 nike

我刚刚用包 cowplot 构建了一个网格(标记来自 A-D 的图)。这些图是用包 ggplot2 制作的:

pfour<-ggplot(four, aes(x=Concentration, y=Percentage, fill=Phenotype)) + 
geom_bar(stat='identity',color='black') +
scale_fill_grey(start = .4, end = .9) +
theme_bw()+ylab("Distribution") +
xlab("Contentration [mg/ml]") +
ggtitle("96 hpf") +
theme(legend.title = element_text(colour="black", size=10, face="bold")) +
theme(legend.background = element_rect(fill="white",
size=0.5, linetype="solid",
colour ="black")) +
scale_x_discrete(limits=c('uninjected','control','0.002', '0.02', '0.2'),
labels=c('uninjected\n(n=251)',
'control\n(n=248)',
'0.002\n(n=205)',
'0.02\n(n=222)',
'0.2\n(n=203)'))

数据看起来像这样(4个不同的表格,百分比略有不同,但原理相同):
Concentration,Percentage,Phenotype
uninjected,0.996015936,0
uninjected,0,1
uninjected,0.003984064,2
uninjected,0,3
uninjected,0,4
control,0.995967742,0
control,0.004032258,1
control,0,2
control,0,3
control,0,4
0.002,0.985365854,0
0.002,0.004878049,1
0.002,0.004878049,2
0.002,0,3
0.002,0.004878049,4
0.02,0.981981982,0
0.02,0.004504505,1
0.02,0.004504505,2
0.02,0.004504505,3
0.02,0.004504505,4
0.2,0.985221675,0
0.2,0.004926108,1
0.2,0,2

它看起来像这样:

plot

代码是:
plot_grid(ponezoom, ptwozoom,pthreezoom,pfourzoom, align='h', labels=c('A', 'B','C','D'))

现在我想知道是否有可能获得 所有四个地块的一个共享图例 因为它偷了很多情节空间来拥有它 4 次。我很感激任何帮助。

最佳答案

那里is a vignette这显示了如何做到这一点。

方法是在隐藏图例的情况下构建您的图 theme(legend.position="none") .
然后从这些对象之一中提取图例 grob。

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

然后将图例绘制为单独的“情节”。
要将图例放在右侧,您可以执行以下操作:
# build grid without legends
pgrid <- plot_grid(pone, ptwo, pthree, pfour, ncol = 2)
# add legend
p <- plot_grid(pgrid, legend, ncol = 2, rel_widths = c(1, .1))

关于r - R 中牛图网格的一个共享图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37335709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com