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

Julia/Plots中matplotlib的fig.subplots_adjust(hspace=0)等价实现方法

Julia Plots实现子图紧贴(等价于matplotlib的hspace=0)

在Plots.jl中实现子图上下紧贴,核心是调整布局间距与子图元素,以下是两种常用实现方式:

方式一:使用@layout宏定义布局并设置hspace=0

using Plots
gr() # 推荐用gr后端,对SVG导出支持更稳定

# 创建子图,隐藏上方子图的x轴刻度与标签避免重叠
p1 = plot(rand(10), title="上方子图", xlabel="", xticks=false)
p2 = plot(rand(10), xlabel="X轴")

# 定义上下布局并设置间距为0
layout = @layout [top_plot; bottom_plot]
plot(p1, p2, layout=layout, hspace=0, margin=0mm)

# 保存为SVG格式
savefig("tight_subplots.svg")

方式二:直接用网格布局参数设置

如果不需要自定义布局名称,可直接通过layout=(2,1)指定2行1列布局,同时设置hspace=0:

using Plots
gr()

p1 = plot(rand(10), title="上方子图", xlabel="", xticks=false)
p2 = plot(rand(10), xlabel="X轴")

plot(p1, p2, layout=(2,1), hspace=0, margin=0mm)
savefig("tight_subplots.svg")

关键注意事项

  • 必须隐藏上方子图的x轴刻度(xticks=false)与标签(xlabel=""),防止上下子图元素重叠
  • 设置margin=0mm消除子图周围的额外空白,确保完全紧贴
  • 不同后端(如plotlyjs)可能存在细微差异,gr后端在SVG导出与布局控制上表现更稳定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:45:01