You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:06:05