gnuplot如何在一行中合并两个命令

时间:2013-11-18 22:55:08

标签: gnuplot

我有一个1200行的文件。我正在尝试使用每个命令来绘制任何数据块(例如从第6到第800个数据,但是每5个点。我知道如何利用每个来选择第一个1000个数据(但不是任何块)和每个 5个点分开。有没有办法在一个班轮中做到这一点?

Plot "file.dat" every ::::1000 every 5 u 1:4没有做到这一点。谢谢!

2 个答案:

答案 0 :(得分:1)

有关help every命令中空站点的说明,请参阅every ::::1000

Syntax:
   plot 'file' every {<point_incr>}
                       {:{<block_incr>}
                         {:{<start_point>}
                           {:{<start_block>}
                             {:{<end_point>}
                               {:<end_block>}}}}}

在您的情况下,您只需要参数,标记数据文件的不同部分,这些部分由一个换行符分隔。

所以你绘制命令来选择第6行和第800行之间的每第5个点是:

plot 'datafile.dat' every 5::6::800 using 1:4

答案 1 :(得分:0)

如果您想要的是仅从前1000个点开始绘制每个第五个点,我认为在纯粹的gnuplot中没有(合理简单)方法。一种选择是使用外部命令对数据文件进行简单处理:

plot '< head -n 1000 datafile.dat' every 5

(有关该语法的详细信息,请在gnuplot中键入help plot special,或在gnuplot文档中搜索“popen”。)