使用gnuplot根据输入值计算高度图颜色

时间:2014-03-19 15:26:54

标签: gnuplot

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

做到这一点
set palette defined (-0.05 '#ff0000', 0 '#ffffff', 0.25 '#00ff00')

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

1 个答案:

答案 0 :(得分:2)

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

stats 'data.dat' u 3 nooutput
set palette defined (STATS_min '#ff0000', 0 '#ffffff', STATS_max '#00ff00')

这假设min低于零且max高于零。否则,您必须根据不同的情况设置一些逻辑来定义调色板。