有一个表由四列,如
0.1 0.2 2 5
0.3 0.5 3 7
0.2 0.9 4 8
0.5 0.2 5 5
0.3 0.1 2 10
0.8 0.7 2 4
正如你所看到的,有空行。我想要做的就是让这个表中的情节,但我有两个条件。首先,列3和4被绘制仅当两个柱1和2,分别是小于0.4,所以在这种情况下,仅第一和第七行应作图。其次,空行应该被忽略。
轻松,我的情节不应该告诉我,没有价值观,这意味着该行4,6和7不应该对剧情显示的任何行。此外,第一条件必须得到满足。
所以我打这样的,
reset
plot 'table.txt' u ($1 < 0.4 || $1 == 1/0 ? $3 : 1/0):($2 < 0.4 || $2 == 1/0 ? $4 : 1/0) pt 7 ps 0.5
但我无法得到我想要的东西。只有两个点,第1行和7,应该弹出,但这些空行也被绘制。是|| (我用它作为意义“和”)错了吗?
空行不反正绘制。所以,用你的三元运算符检查是否$1<0.4 && $2<0.4
。如果是这样的情况下,将当前$4
值到y0
和$3
到x0
....和情节x0
和y0
。如果你想有连接线,如with linespoints
您可能需要采取一些更多操作。
### filter data values
reset session
$Data <<EOD
0.1 0.2 2 5
0.3 0.5 3 7
0.2 0.9 4 8
0.5 0.2 5 5
0.3 0.1 2 10
0.8 0.7 2 4
EOD
x0 = y0 = NaN
plot $Data u ($1<0.4 && $2<0.4 ? (y0=$4, x0=$3) : NaN):(y0) w p pt 7 ps 2
### end of code