用gnuplot替换二维图中的log10(0)-值

用gnuplot替换二维图中的log10(0)-值,gnuplot,Gnuplot,我正在把一维晶格的能量剖面绘制成二维图形。数据是从快照中收集的,快照在给定时间保存晶格的状态。轮廓高度局部化,在活动区域外有许多零。这将提供以下配置文件 我想用cbrange[…]中的最小值来填充空白(由log10(0)生成),以用最冷的颜色填充该空间 有人能帮忙吗 这是我正在使用的代码 set terminal pngcairo n=1000 # Number of snapshots mincb = -16; maxcb = -2 load 'color_dnls.pal' set cb

我正在把一维晶格的能量剖面绘制成二维图形。数据是从快照中收集的,快照在给定时间保存晶格的状态。轮廓高度局部化,在活动区域外有许多零。这将提供以下配置文件

我想用
cbrange[…]
中的最小值来填充空白(由log10(0)生成),以用最冷的颜色填充该空间

有人能帮忙吗

这是我正在使用的代码

set terminal pngcairo

n=1000  # Number of snapshots
mincb = -16; maxcb = -2
load 'color_dnls.pal'
set cbrange[mincb:maxcb]
unset key
set style fill solid
set ylabel "Snapshot/Time"
set xrange[0:2021]
set yrange[0:8]

snapshot(i) = sprintf("snapshot_%04d.dat", i)
set output 'norm_distr.png'

plot for [i=1:n] './snapshots/'. snapshot(n+1-i) using 1:(log10($2)):(log10($3)) with boxes linecolor palette,\
  'RV_0001.dat' using 10:(log10($1)) lc 'black' lw 3 lt 2 with lines  

使用部分在
中添加一个简单的检查:

plot for [i=1:n] './snapshots/'. snapshot(n+1-i) using 1:(log10($2)):($3 > 0 ? log10($3) : mincb) with boxes linecolor palette