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

如何解决multiplot中子图尺寸不一致问题并设置不含轴的绘图尺寸?

解决gnuplot多子图X轴对齐问题

方法1:固定全局左右边距

通过基于屏幕百分比的边距设置,让所有子图的绘图区域左右边界完全一致,不受Y轴标签宽度影响:

# 先固定左右边距为屏幕百分比
set lmargin at screen 0.15
set rmargin at screen 0.9
# 开启多子图布局(示例为3行1列)
set multiplot layout 3,1

# 绘制各子图
plot "data1.dat"
plot "data2.dat"
plot "data3.dat"

unset multiplot

方法2:手动指定子图位置与尺寸

如果需要更精准的控制,直接定义每个子图的水平起始位置和宽度,确保所有子图的绘图区域参数统一:

set multiplot

# 第一个子图:顶部区域
set origin 0.15, 0.7  # 水平起始于屏幕15%位置,垂直起始于70%位置
set size 0.7, 0.25    # 宽度占屏幕70%,高度占25%
plot "data1.dat"

# 第二个子图:中间区域,水平参数与第一个完全一致
set origin 0.15, 0.4
set size 0.7, 0.25
plot "data2.dat"

# 第三个子图:底部区域
set origin 0.15, 0.1
set size 0.7, 0.25
plot "data3.dat"

unset multiplot

注意事项

  • 避免使用基于字符数的set lmargin(如set lmargin 10),这类设置会随Y轴标签长度变化;必须用at screen的百分比方式固定位置。
  • 若多子图共用X轴,可在底部子图保留X轴,其他子图用unset xtics和unset xlabel隐藏,优化视觉效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:51:44