如何解决减少图例间距仅适用于 ggplt2 中的一种图例类型
我有一个带有多个图例的图形,当我尝试减少关键项之间的间距时,它仅将更改应用于我的 geom_boxplot
fill
图例而不是我的 geom_point
{ {1}} 图例。我无法在 3x3 英寸的打印图形中容纳整个图例。
我在这里提供了几行数据以使示例可重现
数据:
shape
用于创建绘图的当前代码:
> dput(Moment_UG.84[sample(nrow(Moment_UG.84),20),])
structure(list(UG = c(84,84,84),S = c(9,12,9,15,12),N_l = c(2,1,2,3,5,3),Sample = c(NA,"Sample",NA,NA),EQ = c("Puckett","CSI","AASHTO","Shahawy","Rigid","Puckett_single.","Phuvor","Henry","Phuvor"),DF = c(1.3294,0.56619579017746,0.664107167708964,0.918312684303714,0.663377355412308,0.769602743779478,0.992450316177789,0.459974067878652,0.472,1.276,1.67608009117722,0.45274352764964,0.399417406036556,0.627034787482155,0.584398599194936,1.97077029619609,1.07454545454545,0.544459041795895,0.926666666666667,1.67608009117722),Girder = c("Exterior","Exterior","Interior","Interior"),Loading = c("Multi","Single","Multi","Multi"),X = c("Exterior Girder\nMulti-lane","Exterior Girder\nSingle-lane","Interior Girder\nMulti-lane","Exterior Girder\nMulti-lane","Interior Girder\nSingle-lane","Interior Girder\nMulti-lane")),row.names = c(NA,-20L),class = c("tbl_df","tbl","data.frame"))
以所需尺寸打印我的图形的代码:
library(ggplot2)
a <- ggplot(data = subset(Moment_UG.84,EQ == "CSI"),aes(x = X,y = DF,fill = factor(S,levels = c("9","12","15")))) + theme_classic() +
geom_boxplot(outlier.shape = NA,position = position_dodge(width = 0.75),fatten = 0.2,lwd = 0.2) +
stat_summary(fun = mean,geom="point",shape=23,size=0.5,stroke = 0.2,position = position_dodge(width = 0.75)) +
stat_boxplot(geom='errorbar',linetype=1,width=0.5,lwd = 0.2,position = position_dodge(width = 0.75)) +
geom_point(data = subset(Moment_UG.84,EQ == "AASHTO"),aes(shape = EQ),size = 0.7,EQ == "Henry"),EQ == "Suks"),EQ == "Shahawy"),EQ == "Rigid"),position = position_dodge(width = 0.75)) +
labs(x = element_blank(),y = element_blank(),title ="Ultra-Girder Section: UG-84",fill = "Girder Spacing (ft):",shape = element_blank()) +
theme(plot.title = element_text(hjust = 0.5,margin = margin(0,6,0),size = 7,face = "bold"),legend.title.align = 0.5,legend.position = "bottom",axis.text.y = element_text(size=5,colour="black"),axis.text.x = element_text(size=5,axis.line = element_line(colour = 'black',size = 0.1),axis.ticks = element_line(colour = "black",legend.text = element_text(size=5),legend.spacing.x = unit(0.01,'cm'),legend.title = element_text(size=5))
最后,我得到的数字:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。