如何删除ggplot绘图生成图例中的多余空白区域
ggplot图例多余空白删除方法
你可以通过调整theme()函数中的边距相关参数来去掉图例边框内的多余空白,修改后的完整代码如下:
ggplot(C, aes(x = sigma, y = value, group=name)) + geom_line(aes(linetype=name)) + scale_linetype_manual(values=c("solid", "twodash", "dotted")) + theme_minimal() + theme_classic() + theme(legend.position = c(0.15, 0.85), legend.background = element_rect(fill="white", size=0.5, linetype="solid", colour ="gray"), text = element_text(size=20), legend.text = element_text(size=20), axis.title=element_text(size=20), legend.title = element_blank(), panel.grid.major.y = element_line(), panel.grid.minor.y = element_line(), # 新增以下参数调整空白 legend.margin = margin(t = 3, r = 3, b = 3, l = 3, unit = "pt"), legend.spacing.y = unit(2, "pt"), legend.key.width = unit(12, "pt") )
参数说明
legend.margin:控制图例外边框和内部内容的间距,四个参数依次对应上、右、下、左四个方向的边距,数值越小边框内空白越少,你可以根据实际显示效果调整数值legend.spacing.y:控制图例每一行条目之间的纵向间距,缩小该值可以减少纵向多余空白legend.key.width:控制图例中线型预览区域的宽度,缩小该值可以减少横向多余空白
内容的提问来源于stack exchange,提问作者hrkshr
相关产品推荐
相关产品推荐

