gnuplot中的对称轴

时间:2013-05-21 07:49:26

标签: gnuplot

我想用gnuplot绘制轮廓图,我想指出一些特殊颜色的特殊功能。

我通过

定义轮廓图
set pm3d map
set palette defined (-1 "red", -0.1 "red", 0 "white", 0.1 "blue", 1 "blue")

这会产生一个颜色渐变,其面积较小,从红色到白色到蓝色,其余部分红色表示负数,蓝色表示正数。

我现在的问题是,我想将gnuplot自动设置为z轴的对称缩放。但是,通过指定splot [][][-200:200] 'data' u 1:2:3和数据集来指定值,例如-300到100 gnuplot会自动重新缩放到[-200:100],导致我的色阶不对齐(白色区域现在大约为-50)。

有没有办法强制zrange或获得自动对称的缩放轴?

2 个答案:

答案 0 :(得分:3)

我不确定我是否理解这个问题,但你有没有考虑过:

set cbrange [-200:200]

来自文档:

  

`set cbrange`命令设置使用颜色着色的值的范围    当前的`palette`由样式`with pm3d`,`with image`和`with palette`。    颜色范围之外的值使用最近极端的颜色。

答案 1 :(得分:1)

要强制z范围,请尝试

set zr [-200:200]
在你的情节命令之前

。要自动缩放轴,您可以使用stats烹饪。主要技巧是要记住颜色条是以相对单位表示的。像这样(未经测试):

datafile = 'data.dat'

stats datafile u 3 nooutput

# assume you want some data positive and some negative
if (stats_max*stats_min > 0) {
 print 'WARNING: all data has same sign.  Color bars may be weird.'
}

z0 = -1*min(abs(0.1*stats_min),abs(0.1*stats_max))
z1 = 0.0
z2 = -1*z0

set palette defined (stats_min "red", z0 "red", z1 "white",
                     z2 "blue", stats_max "blue")