我正在尝试在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脚本变量和gnuplot变量$2
$3
。没有引用heredoc __GNUPLOT__
并不适用于此。我找到了那些处理类似主题的帖子:
我不知道这个问题对于bash是否相同。我还没有尝试过,但也会感兴趣。我只是想了解更多关于管道,报价和不同类型变量的一般问题。
答案 0 :(得分:2)
表达式$2
只是column(2)
的简写。因此,如果您遇到转义问题,请使用
plot "data.dat" u 1:(abs(column(2))), "" u 1:(abs(column(3)))