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

Gnuplot绘制2D热力图遇问题:等高线异常+X轴无标签求助

Gnuplot热力图与等高线问题解决

问题概述

使用Gnuplot生成2D热力图并添加930值等高线时,遇到两个问题:

  • 930等高线呈水平直线,而非预期的平滑曲线
  • X轴未显示标签

问题1:X轴标签不显示

原因

你设置的set xtics 10,15,100与X轴范围[0.0:0.35]完全不匹配,所有刻度都超出可视范围,导致X轴无刻度,标签无法正常显示。

修正

将X轴刻度改为匹配数据范围的设置:

set xtics 0,0.05,0.35

该命令设置刻度从0开始,步长0.05(与你的数据X值一致),到0.35结束。

问题2:等高线呈水平直线

原因

  1. set dgrid3d未指定分辨率,默认插值网格过于粗糙,无法生成平滑曲线
  2. 未启用等高线的平滑插值,只能沿原始数据行/列生成直线

修正步骤

在生成等高线数据文件时,调整以下参数:

  • 指定dgrid3d的高分辨率网格,比如set dgrid3d 50,50(数值越大,插值越精细)
  • 启用B样条平滑:set cntrparam bspline
  • 设置正确的contour模式:set contour surface

修改后的等高线生成代码:

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

完整修正脚本

# 生成平滑等高线数据
unset surface
set dgrid3d 50,50
set contour surface
set cntrparam levels discrete 930
set cntrparam bspline
set table "e-nb-hierro.out"
splot "mapa-estabilidad.dat"
unset table

# 绘制热力图与等高线
set term pngcairo enhanced dashed color size 35cm,30cm font 'Arial, 28'
set output "Estabilidad.png"
set pm3d map 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.05,0.35
splot "mapa-estabilidad.dat" u 1:2:3 w pm3d notitle, \
      "e-nb-hierro.out" u 1:2:3 w l lt 8 lw 3 lc 'white' notitle

效果验证

  • X轴将正常显示匹配数据的刻度与标签
  • 930等高线会呈现符合数据趋势的平滑曲线(从数据来看,该等高线从左上区域向右下区域延伸)

内容的提问来源于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.13 12:15:34