1

我正在尝试在 perl 中使用 gnuplot 脚本来获取一些绘图。我的data.dat样子:

1       5       2
2       3       9
3       9       6
4       -4      8
5       -3      4
6       11      2
7       0       -3
8       -8      -2
9       1       0
10      22      0

我试过这个脚本:

#!/usr/bin/perl -w    
use strict;

my $type="png";

open(my $GP,'| gnuplot');

print {$GP} << "__GNUPLOT__";

set style data lines
#set logscale y
set terminal $type
set output 'pic.$type'
plot "data.dat" u 1:2, "" u 1:3

__GNUPLOT__

close $GP;

我的目标是绘制对数刻度。由于负面数据,我想使用plot "data.dat" u 1:(abs($2)), "" u 1:(abs($3)). 所以我想访问我的 perl-script variables 和 gnuplot variables $2 $3。不引用heredoc__GNUPLOT__对此不起作用。我发现那些处理类似主题的帖子:

我不知道这个问题是否与 bash 相同。我还没有尝试过,但也会对那里感兴趣。我只是想了解更多关于管道、引用和不同类型变量的一般问题。

4

1 回答 1

2

该表达式$2只是 的简写column(2)。因此,如果您在转义方面遇到问题,请使用

plot "data.dat" u 1:(abs(column(2))), "" u 1:(abs(column(3)))
于 2013-07-27T10:59:34.330 回答