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

Gnuplot 3D热力图pm3d模式最高温度值对应颜色匹配错误求助

Gnuplot pm3d模式温度色标不匹配问题解决方案

问题根因

你遇到的颜色与色标不匹配问题来自两个核心配置错误:

  • set hidden3d 是面向线框类3D绘图的隐面消除配置,和pm3d曲面着色逻辑存在冲突,会干扰颜色映射的计算
  • pm3d默认的网格面着色规则为corners2color mean:每个四边形网格的颜色取四个顶点温度的平均值,你边界位置的网格只有贴近z=0/z=1的一个顶点为373K,其余三个顶点均为283~298K的低温,平均值远低于373K,因此显示为浅绿色,只有顶点高度符合预期。

修复方案

修改后的完整gnuplot代码如下:

set size square
set xlabel "x"
set ylabel "z"
set zlabel "T"
set xrange [-0.01:1.01]
set yrange [-0.01:1.01]
# 显式指定温度范围,避免自动计算范围产生偏差
set zrange [273:373]
set palette rgb 33,13,10 
# 移除冲突的hidden3d配置,修改pm3d着色规则:取四个顶点温度最大值作为网格面颜色
set pm3d implicit at s corners2color max
# 显式开启色条
set colorbox

splot "para_heat_3D_inta.dat" using 1:2:4 with pm3d notitle
pause mouse keypress

如果你是通过Shell管道一行调用gnuplot,将上述完整代码用双引号包裹后追加| gnuplot -persist即可。

若希望每个顶点的颜色直接对应自身温度而非面插值结果,也可将着色规则改为set pm3d at b,或搭配with points额外绘制边界点验证温度数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:36:02