在gnuplot中我们可以写
plot "example.data" using 1:2:ytic(2)
将根据y值放置ytics。
如果example.data如下所示
10 32
20 43
50 63
ytics将是32,43和63.我如何才能使它只使用最后一行(在那种情况下为63)?我有很多冒号,我想根据最后一行输入y值,所以我不想手动把它放在63处,每个冒号都有一个勾号。
答案 0 :(得分:2)
表达式ytic(2)
或多或少是ytic(strcol(2))
的快捷方式。因此,您可以将任何其他表达式作为参数(也使用条件)来计算为字符串。
对于示例数据,您可以使用以下内容:
plot "example.data" using 1:2:ytic($0 == 2 ? strcol(2) : 1/0)
仅为第三行添加ytic和label。使用1/0
也省略了所有其他抽搐,不仅仅是标签,而是“Tic标签不会评估为字符串!”警告。你可以放心地忽略这些,因为这就是你想要的。使用''
代替1/0
只会跳过标签,但会抽取抽搐。
为了使这项工作适用于最后一行,您可以使用stats
命令(从版本4.6.0开始)获取条目数:
stats 'example.data' using 1 nooutput
plot "example.data" using 1:2:ytic($0 == (STATS_records - 1) ? strcol(2) : 1/0)