gnuplot中的对称轴

gnuplot中的对称轴,gnuplot,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]

我想用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或获得自动对称缩放轴

要强制设置z范围,请尝试

set zr [-200:200]
在plot命令之前。要自动缩放轴,您可能需要使用统计信息来制作一些东西。主要技巧是要记住,颜色栏是以相对单位表示的。类似这样的未经测试:

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")

要强制z范围,请尝试

set zr [-200:200]
在plot命令之前。要自动缩放轴,您可能需要使用统计信息来制作一些东西。主要技巧是要记住,颜色栏是以相对单位表示的。类似这样的未经测试:

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")

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

set cbrange [-200:200]
从文件中:

“set cbrange”命令用于设置使用 按样式“带pm3d”、“带图像”和“带调色板”显示当前的“调色板”。 颜色范围之外的值使用最接近极限的颜色


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

set cbrange [-200:200]
从文件中:

“set cbrange”命令用于设置使用 按样式“带pm3d”、“带图像”和“带调色板”显示当前的“调色板”。 颜色范围之外的值使用最接近极限的颜色


命令集zr[-200:200]不起作用。您可以使用set pm3d map尝试此操作,然后使用splot[-10:10][10:10][]5+10*sinx。这通常会导致zrange从-6到16。另一种方法看起来很有前途。稍后我将尝试此操作。命令集zr[-200:200]不起作用。您可以使用set pm3d map尝试此操作,然后使用splot[-10:10][10:10][]5+10*sinx。这通常会导致zrange从-6到16。另一种方法看起来很有前途。我稍后会试试。这正是我所需要的。非常感谢。这正是我所需要的。非常感谢。