如果第三轴的 gnuplot 条件
if condition in gnuplot for the third axis
我想以调色板格式绘制文件,
plot 'file.dat' u (-):(6-3):(6=3) pointtype 1 lc palette,\
'file.dat' u (-):(0-7):(0=7) pointtype 1 lc palette
虽然列的选择不规则,但我需要为调色板轴(条)使用 if
条件,这表明如果列 6=3
绘制列 6
或者如果 0=7
绘制 0
.
我不知道这在 gnuplot
中是否可行,或者我应该跳过使用 gnuplot
。
根据你的描述,我还是不明白你的意思。到目前为止,这就是我所理解的。
您对某些列进行一些操作以确定 x 和 y 坐标(在您的情况下:-
和 6-3
)。
现在,您想通过什么来确定数据点的颜色?通过某种条件?
条件是什么?那么,如果满足条件(6==3
)你想要什么颜色,如果不满足条件(即6!=3
)你想要什么颜色。
我为了更进一步,我用数据和图做了一个最小的例子。
如果第 3 列中的值等于第 4 列中的值,则数据点的颜色将根据使用第 3 列的调色板,否则 NaN
(= 未绘制)。这是否接近您想要实现的目标?也许我们可以从这里继续...
代码:
### conditional plotting
reset session
$Data <<EOD
1 21 1 0
2 22 2 2
3 23 3 0
4 24 4 4
5 25 5 0
6 26 6 6
7 27 7 0
EOD
set palette rgb 33,13,10
plot $Data u (+):(+):(== ? : NaN) w p pt 7 ps 3 lc palette notitle
### end of code
结果:
我想以调色板格式绘制文件,
plot 'file.dat' u (-):(6-3):(6=3) pointtype 1 lc palette,\
'file.dat' u (-):(0-7):(0=7) pointtype 1 lc palette
虽然列的选择不规则,但我需要为调色板轴(条)使用 if
条件,这表明如果列 6=3
绘制列 6
或者如果 0=7
绘制 0
.
我不知道这在 gnuplot
中是否可行,或者我应该跳过使用 gnuplot
。
根据你的描述,我还是不明白你的意思。到目前为止,这就是我所理解的。
您对某些列进行一些操作以确定 x 和 y 坐标(在您的情况下:-
和 6-3
)。
现在,您想通过什么来确定数据点的颜色?通过某种条件?
条件是什么?那么,如果满足条件(6==3
)你想要什么颜色,如果不满足条件(即6!=3
)你想要什么颜色。
我为了更进一步,我用数据和图做了一个最小的例子。
如果第 3 列中的值等于第 4 列中的值,则数据点的颜色将根据使用第 3 列的调色板,否则 NaN
(= 未绘制)。这是否接近您想要实现的目标?也许我们可以从这里继续...
代码:
### conditional plotting
reset session
$Data <<EOD
1 21 1 0
2 22 2 2
3 23 3 0
4 24 4 4
5 25 5 0
6 26 6 6
7 27 7 0
EOD
set palette rgb 33,13,10
plot $Data u (+):(+):(== ? : NaN) w p pt 7 ps 3 lc palette notitle
### end of code
结果: