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

pm3d(彩色)与3D线面图匹配错位问题求助

解决方案

核心思路

通过固定坐标系范围+预先生成低分辨率插值数据的方式,避免两次dgrid3d插值导致的坐标系错位,同时兼顾pm3d的高分辨率细节和线图的清晰度。


具体操作步骤

  1. 绘制高分辨率pm3d并锁定坐标系
    先完成pm3d绘图,同时记录当前的x/y/z轴范围,确保后续线图完全匹配该范围:

    set pm3d map  # 若需3D视角可改为`set pm3d`并调整视角参数
    set dgrid3d 960,960
    plot 'your_data.dat' with pm3d
    # 保存当前坐标系的边界值
    xmin = GPVAL_X_MIN
    xmax = GPVAL_X_MAX
    ymin = GPVAL_Y_MIN
    ymax = GPVAL_Y_MAX
    zmin = GPVAL_Z_MIN
    zmax = GPVAL_Z_MAX
    
  2. 预生成低分辨率插值数据文件
    用set table将原始数据按低分辨率参数插值后的结果保存为临时文件,后续线图直接调用该文件,避免重复插值的误差:

    set dgrid3d 120,120 qnorm 9
    set table 'low_res_temp.dat'
    plot 'your_data.dat' with lines  # 仅生成插值数据,不显示绘图
    unset table
    unset dgrid3d  # 关闭自动插值,防止干扰后续操作
    
  3. 叠加低分辨率线图
    基于锁定的坐标系,重新绘制pm3d并叠加预生成的低分辨率线图:

    set pm3d map
    # 强制使用之前锁定的坐标系范围
    set xrange [xmin:xmax]
    set yrange [ymin:ymax]
    set zrange [zmin:zmax]
    # 叠加绘图,可调整线宽、颜色增强辨识度
    plot 'your_data.dat' with pm3d, 'low_res_temp.dat' with lines lw 1.5 lc 'white'
    

替代方案(多图层同步)

如果不想生成临时文件,可使用multiplot same强制共享同一坐标系,但需注意两次插值的参数要独立设置:

set multiplot same
set pm3d map
set dgrid3d 960,960
plot 'your_data.dat' with pm3d
set dgrid3d 120,120 qnorm 9
plot 'your_data.dat' with lines lw 1.5 lc 'white'
unset multiplot

注:set isosamples仅对gnuplot内置函数有效,外部非网格数据的插值密度只能通过dgrid3d控制,上述方法完美解决了高分辨率pm3d与低分辨率线图的匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:58:17