修改 R 条形图的宽度。

3

我使用ggplot创建了一个条形图。我的数据框:

variable <- c(AFD, AFD, FC, FC, NDT, NDT)
AOI<- c(R,Z,R,Z,R,Z)
mean <- c(219,228,30,130,8381,40164)
se <- c(5,5,1,4,367,1363)

df <- data.frame(variable , AOI, mean, se )

这是我的绘图代码:
ggplot(data=Summary_RegBed_ZvsR_Hyp1_lang[Summary_RegBed_ZvsR_Hyp1_lang$variable == "FC", ], aes(x=variable, y=mean, fill=AOI)) +   
scale_x_discrete(labels = "Anzahl Fixationen")+
ylab("Absolute Anzahl")+
xlab("Anzahl Fixationen")+
scale_fill_grey(start = 0.35, end= 0.8,
              name = "Area of Interest",
              breaks=c("R", "Z"),
              labels=c("Rand", "Zentrum"))+
geom_bar(stat="identity", position=position_dodge(), width = .6)+
geom_errorbar(aes(ymin=mean-se, ymax=mean+se),
            width=.1,                    
            position=position_dodge(.6))+
scale_y_continuous(limit=c(0,140), breaks = c(0,25, 50, 75, 100, 125))+
theme_bw() +
theme(text=element_text(family="Times", face="bold", size=12))+
theme(axis.text.x=element_blank(),
    axis.ticks.x=element_blank()) +
geom_signif(annotation="***", y_position=140, xmin=0.85, xmax=1.15, tip_length=0.008)

这是生成的图表 这是生成的图表

我的问题是:如何减少条形图与y轴和右侧边缘之间以及条形图与绘图区域右侧边缘之间的空间?我需要将几个图表并排放置,但这样会浪费我的空间。 我尝试使用scale_x_discrete与breaks或limits,但都没有奏效。有什么建议吗?提前感谢!


它们已经挨在一起了,你想如何减少空间? - M--
抱歉,我表达不清楚。我不想减少条形图之间的空间,而是想要减少左侧条形图和y轴之间以及右侧条形图和绘图区域右边缘之间的空间。我想要“收缩”x轴。 - StephieMall
1个回答

1
您可以将expand设置为零(右和左)以实现此目的:
 p +  
    scale_x_discrete( expand = c(0, 0))

谢谢您的回答!但是当我将扩展命令添加到我的代码中时,它仍然会产生与之前相同的图形。 - StephieMall
@StephieMall 在你的问题下面的评论中提供一个可重现的例子,这样我就可以确保解决方案适用于你的特殊情况。 - M--

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接