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

Python matplotlib如何减小水平排列图例的列间距

Matplotlib 缩小水平多列图例列间距的方法

不需要找隐藏参数,plt.legend() 自带官方参数可直接实现需求:

  • 控制列与列之间间距的核心参数是 columnspacing,该参数为相对当前图例字体大小的间距值,默认值为2.0,数值越小相邻图例列挨得越近。
  • 如果需要同时收紧单列内部图例符号和对应文字的空隙,可以搭配调整 handletextpad 参数,默认值为0.8,调小即可让符号和文字更紧凑。

代码示例

直接替换你原来的legend调用即可,数值可以根据自己想要的紧凑程度调整:

# 原代码:plt.legend(ncol=4)
plt.legend(
    ncol=4,
    columnspacing=0.6,  # 控制列间距,0.5-1区间都是比较常用的紧凑效果
    handletextpad=0.4   # 可选,控制符号和文字的间距,不需要可以删除该参数
)

如果已经提前创建了图例对象,也可以事后修改属性调整:

leg = plt.legend(ncol=4)
leg.columnspacing = 0.6

当前默认参数的图例效果:
水平多列图例默认间距效果

内容的提问来源于stack exchange,提问作者sadradio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 00:36:19