Gnuplot - 从bash脚本绘制连接点

时间:2016-04-07 12:04:30

标签: bash awk gnuplot

在我的脚本中我试图打印两组点 - 其中一组将位于中间位置,另一组位于gnuplot终端的顶部。我使用它循环两次来做它:

for ((i=1;i<=LINES;i++))
do
    {
        cat <<-PLOT
            set terminal png
            set output "$(printf "$FMT" $i)"
            plot [0:$LINES][$YRANGE1:$YRANGE2] '-' with lines t ''
            PLOT
        head -n $i "${TMPDIR}/bigdata"
    } | gnuplot
done

但是当我这样做时,分数只会继续在YRANGE2后面 - 我希望它们从头开始。我怎么做 ?该文件如下所示:

100.285
100.404
100.708
100.199
....
130.628
130.865
130.186
130.659

此外,我试图在awk中附加行号,但后来我无法使用for循环打印它我之前有海报 - 我尝试过ap using 2:1但它只是不起作用。有什么提示吗?

非常感谢

1 个答案:

答案 0 :(得分:-1)

感谢大家的评论,解决方案是确实使用awk添加第二列,然后像这样编辑for循环:

for ((i=1;i<=LINES;i++))
do
    {
        cat <<-PLOT
            set terminal png
            set output "$(printf "$FMT" $i)"
            set xrange [0:$LINES]
            set yrange [$YRANGE1:$YRANGE2]
            plot '-' using 2:1 with lines t ''
            PLOT
        head -n $i "${TMPDIR}/bigdata"
    } | gnuplot
done