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

Gnuplot多图布局(multiplot)中如何让刻度与对应图表绑定

解决Gnuplot多图布局中刻度与子图绑定的问题

问题根源

你的代码存在几个关键问题导致刻度和标签未绑定到对应子图:

  • 手动设置全局画布的size和origin,干扰了multiplot layout的自动子图布局逻辑
  • 使用graph坐标设置标签时,未考虑multiplot模式下坐标参考系默认指向全局画布的特性
  • 部分unset命令存在语法错误(如unset set colorbox),导致前一个子图的设置残留
  • 未精准清除指定编号的标签,造成标签跨子图混乱

修正后的完整代码

set term postscript eps enhanced color 'Helvetica' 25
set output 'sig_tau3.eps'

# 启用2×2多图布局,由gnuplot自动管理子图位置与尺寸
set multiplot layout 2,2 rowsfirst
set style fill solid 1.0 noborder

# -------------------------- 第一个子图 --------------------------
set size square
set xtics ("0" 0, "175" 175, "350" 350) font "Helvetica,40"
set ytics ("0" 0, "2" 2, "4" 4) font "Helvetica,40"
set cbtics ("-0.0075" -0.0075, "0" 0, "0.0075" 0.0075) font "Helvetica,40"
set xlabel "{/Symbol t}" font "Helvetica,40"
# 使用first坐标(基于当前子图的轴范围)定位标签,确保绑定当前子图
set label 1 "{/Symbol s}" font "Helvetica,40" at first -50, 2
set label 2 "{Re{/Symbol z}_{max}}" font "Helvetica,40" at first 375, 2
set pm3d map
set cbrange [-0.0075:0.0075]
set xrange [0:350]
set yrange [0:4]
set palette defined (-0.0075 0 0 1, 0 0 1 0, 0 "yellow", 0.0075 1 0 0)
set colorbox
unset key
splot "1.dat" u 1:2:4 title""

# -------------------------- 第二个子图 --------------------------
# 精准清除前一个子图的指定标签,避免残留
unset label 1
unset label 2
set size square
set xtics ("0" 0, "175" 175, "350" 350) font "Helvetica,40"
set ytics ("0" 0, "6" 6, "12" 12) font "Helvetica,40"
set cbtics ("-0.0075" -0.0075, "0" 0, "0.0075" 0.0075) font "Helvetica,40"
set xlabel "{/Symbol t}" font "Helvetica,40"
set label 1 "{/Symbol s}" font "Helvetica,40" at first -50, 6
set label 2 "{Re{/Symbol z}_{max}}" font "Helvetica,40" at first 375, 6
set pm3d map
set cbrange [-0.0075:0.0075]
set xrange [0:350]
set yrange [0:12]
set palette defined (-0.0075 0 0 1, 0 0 1 0, 0 "yellow", 0.0075 1 0 0)
set colorbox
unset key
splot "4.dat" u 1:2:4 title""

# -------------------------- 后续子图可按此格式补充 --------------------------
# 第三个子图...
# 第四个子图...

unset multiplot

关键修正点

  • 移除全局画布设置:删除set size 1,1和set origin 0.0,0.0,让multiplot layout自动控制子图的位置和尺寸,确保刻度、标签与子图绑定
  • 精准管理标签:给每个标签指定唯一编号(如label 1、label 2),切换子图时精准清除对应编号的标签,避免跨子图残留
  • 坐标参考系调整:使用first坐标定位标签(基于当前子图的轴范围计算位置),替代原有的graph坐标(默认参考全局画布),确保标签固定在当前子图区域
  • 修正语法错误:将错误的unset set colorbox改为unset colorbox,unset palette defined改为unset palette,避免设置残留导致的异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:13:11