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

Gnuplot绘制XYZ数据热图及930等值线异常问题求助

Gnuplot热图绘制问题解决

问题背景

使用Gnuplot绘制XYZ格式规则网格数据的热图,希望得到平滑完整的热图效果并叠加930值的等值线,但当前绘制结果存在网格状分割瑕疵,不符合预期。此前未使用dgrid3d时可正常绘制,此次因终端提示需要网格添加该命令后出现问题。

数据文件(mapa-estabilidad.dat)

0.0 40.0 778.78120008990152
0.0 50.0 821.24320411182714
0.0 60.0 857.79241694261157
0.0 70.0 890.06020449693267
0.0 80.0 919.06296578423655
0.0 90.0 945.48354694661066
0.0 100.0 969.80332391358638
0.0 110.0 992.37626201962348
0.0 120.0 1013.4707848548982

0.05 40.0 785.04802668734237
0.05 50.0 827.79005910832893
0.05 60.0 864.58649509875329
0.05 70.0 897.07636244554294
0.05 80.0 926.28161433212620
0.05 90.0 952.88868104300536
0.05 100.0 977.38301140737394
0.05 110.0 1000.1186127099754
0.05 120.0 1021.3660770787799

0.10 40.0 791.56182397211330
0.10 50.0 834.59556080405616
0.10 60.0 871.64949898510815
0.10 70.0 904.37004417201081
0.10 80.0 933.78677335142288
0.10 90.0 960.58855081404715
0.10 100.0 985.26351347238995
0.10 110.0 1008.1684300336018
0.10 120.0 1029.5754781163455

0.15 40.0 798.34055165487189
0.15 50.0 841.67824576244413
0.15 60.0 878.99958975502966
0.15 70.0 911.96168205893628
0.15 80.0 941.59893813600002
0.15 90.0 968.60362899084521
0.15 100.0 993.46744258593492
0.15 110.0 1016.5494213690502
0.15 120.0 1038.1233581496806

0.20 40.0 805.40555242206403
0.20 50.0 849.05987797369721
0.20 60.0 886.66147827497946
0.20 70.0 919.87499517151218
0.20 80.0 949.74215716287370
0.20 90.0 976.95914263993404
0.20 100.0 1002.0199820137157
0.20 110.0 1025.2868349030709
0.20 120.0 1047.0347386927497

0.25 40.0 812.77839951944816
0.25 50.0 856.76373305819050
0.25 60.0 894.65807150159071
0.25 70.0 928.13559296367407
0.25 80.0 958.24231762800366
0.25 90.0 985.68181901109608
0.25 100.0 1010.9489001030934
0.25 110.0 1034.4096229335219
0.25 120.0 1056.3396102939134

0.30 40.0 820.48532442240912
0.30 50.0 864.81721193165276
0.30 60.0 903.01793306626575
0.30 70.0 936.77143987457748
0.30 80.0 967.13070171686991
0.30 90.0 994.80260583578638
0.30 100.0 1020.2860583598051
0.30 110.0 1043.9491920105042
0.30 120.0 1066.0705495008092

0.35 40.0 828.55397604267148
0.35 50.0 873.24971731819551
0.35 60.0 911.77188280323685
0.35 70.0 945.81542098750799
0.35 80.0 976.43920139491001
0.35 90.0 1004.3551308142532
0.35 100.0 1030.0670096356569
0.35 110.0 1053.9431809276018
0.35 120.0 1076.2647985870872

现有操作步骤

1. 生成930等值线文件

执行以下命令生成e-nb-hierro.out:

unset surface
set contour
set cntrparam levels discrete 930
set table
set out "e-nb-hierro.out"
splot "mapa-estabilidad.dat"

2. 绘制热图(原问题命令)

unset table
set dgrid3d
set term pngcairo enhanced dashed color size 35cm,30cm font 'Arial, 28'
set output "Estabilidad.png"
set pm3d explicit
set pm3d map
set pm3d interpolate 0,0
set palette model RGB  defined ( 1.4 'black', 1.7 'blue', 2.0 'red', 2.1 'yellow')

set xlabel "{/Symbol a} [MeV]"
set ylabel "{/:Italic Bag} [MeV/fm^3]"
set cblabel "{/:Italic {{/Symbol e}/n_B }}[MeV]"

set size square

set xrange [0.0:0.35]
set yrange [40:120]
set mxtics 2
set mytics 2
set xtics 0.0,0.05,0.35

splot "mapa-estabilidad.dat" u 1:2:3 w pm3d not, "e-nb-hierro.out" u 1:2:3 w l lt 8 lw 3 lc 'white' not

解决方案

核心调整逻辑

你的数据是规则网格数据(X步长0.05,Y步长10),无需使用dgrid3d(该命令用于不规则数据生成网格),改用pm3d interpolate实现热图平滑,同时保留等值线叠加逻辑。

修改后的完整命令

步骤1:生成等值线(无需修改)

保持原有生成等值线的命令不变。

步骤2:绘制热图的修正命令

unset table
# 移除set dgrid3d,规则网格无需此命令
set term pngcairo enhanced dashed color size 35cm,30cm font 'Arial, 28'
set output "Estabilidad.png"
set pm3d explicit
set pm3d map
# 启用pm3d插值,设置X/Y方向插值倍数,数值越大平滑效果越强
set pm3d interpolate 4,4
set palette model RGB defined (1.4 'black', 1.7 'blue', 2.0 'red', 2.1 'yellow')

set xlabel "{/Symbol a} [MeV]"
set ylabel "{/:Italic Bag} [MeV/fm^3]"
set cblabel "{/:Italic {{/Symbol e}/n_B }}[MeV]"

set size square

set xrange [0.0:0.35]
set yrange [40:120]
set mxtics 2
set mytics 2
set xtics 0.0,0.05,0.35

# 直接绘制原始规则网格数据的pm3d热图,叠加等值线
splot "mapa-estabilidad.dat" u 1:2:3 w pm3d not, "e-nb-hierro.out" u 1:2:3 w l lt 8 lw 3 lc 'white' not

额外说明

  • 若仍出现网格提示,可添加set pm3d at b确保pm3d使用底层规则网格。
  • 插值步长interpolate x,y可根据需求调整,比如2,2为轻度平滑,6,6为重度平滑。

内容的提问来源于stack exchange,提问作者martín canullán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 04:25:20