Gnuplot:如何将文件中的每一行作为单独的图形绘制?

时间:2013-05-26 07:33:27

标签: gnuplot

我知道在gnuplot中绘制圆圈的命令:

plot 'circle.txt' using 1:2:3 with circles

假设circle.txt包含n行并且每行包含不同圈子的{centerXcenterYradius),例如:

#x  y   radius
0   0   1
1   1   2
2   2   3

如何生成包含n个不同圈子的n张图片 - 每行一张图片?

1 个答案:

答案 0 :(得分:2)

这适用于 gnuplot 4.4 及更高版本:

gnuplot> n = "`awk 'END {print NR}' < circle.txt`"
gnuplot> i=0; while i<n{set term wxt i; plot 'circle.txt' every ::i::i using 1:2:3 with circles; i=i+1}

说明:

  • "`awk 'END {print NR}' < circle.txt`"确定文件中的行数
    警告:这在Windows 32位系统上不起作用)
  • i=0设置while循环的计数器
  • while i<n遍历文件的行
  • { } while-clause必须是大括号
  • set term wxt i此部分为每个情节打开新窗口
  • ;
  • 分开命令
  • plot 'circle.txt' every ::i::i using 1:2:3 with circles这只绘制了文件的i行。 More information on plotting specific lines can be found here.
  • i=i+1递增计数器