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

如何用gnuplot设置2D等高线颜色:黑色线条与2000阈值红色等高线

要实现2D等高线默认黑色、数值大于2000的等高线为红色的效果,可以通过过滤数据并分两次绘制等高线来实现,修改后的gnuplot代码如下:

set terminal png size 800,800 font 'Times New Roman, 12'
set output 'TH1.png'
set view map
set pm3d map
unset surface
set cont base
set cntrparam levels auto 50
set isosamples 10
unset key 
set xrange[0:180]
set yrange[0:180]
set xlabel '{/Symbol q}'
set ylabel '{/Symbol q}'
set palette rgb 33,13,10

# 定义线条样式:黑色默认等高线,红色用于数值>2000的等高线
set style line 1 lc rgb "black" lw 1.6
set style line 2 lc rgb "red" lw 1.6

# 先绘制颜色映射图,再分批次绘制不同颜色的等高线
splot 'TH1TH2.dat' w ima, \
      '' using 1:2:($3 <= 2000 ? $3 : NaN) w l ls 1, \
      '' using 1:2:($3 > 2000 ? $3 : NaN) w l ls 2

关键修改说明

  1. 修正了原代码中ylabel的多余单引号错误
  2. 通过set style line定义两种线条样式,分别对应黑色基础等高线和红色高亮等高线
  3. 使用三元表达式($3 <= 2000 ? $3 : NaN)过滤数据:仅保留数值≤2000的点绘制黑色等高线,同理保留数值>2000的点绘制红色等高线
  4. 保留了原代码中颜色映射、坐标轴范围、等高线数量等核心设置,确保整体效果与原需求一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:50:35