使用gnuplot从输入值计算高度贴图颜色

使用gnuplot从输入值计算高度贴图颜色,gnuplot,Gnuplot,我正在使用绘制高度图,使用1:2:3和图像绘制“mydata”。第三列中的值范围为-0.05至0.25。我想定义一个调色板,其中负值变为红色,正值变为绿色,零为白色-0.05和0.25应完全饱和。我刚刚意识到我可以用 set palette defined (-0.05 '#ff0000', 0 '#ffffff', 0.25 '#00ff00') 但是这可以在事先不知道上限和下限的情况下完成吗?您可以做的是在脚本运行时使用stats命令获取最小/最大值 stats 'data.dat' u

我正在使用
绘制高度图,使用1:2:3和图像绘制“mydata”。第三列中的值范围为-0.05至0.25。我想定义一个调色板,其中负值变为红色,正值变为绿色,零为白色-0.05和0.25应完全饱和。我刚刚意识到我可以用

set palette defined (-0.05 '#ff0000', 0 '#ffffff', 0.25 '#00ff00')

但是这可以在事先不知道上限和下限的情况下完成吗?

您可以做的是在脚本运行时使用
stats
命令获取最小/最大值

stats 'data.dat' u 3 nooutput
set palette defined (STATS_min '#ff0000', 0 '#ffffff', STATS_max '#00ff00')
这假设最小值低于零,最大值高于零。否则,您必须加入一些逻辑来根据不同的情况定义选项板