我有一个1200行的文件。我正在尝试使用每个命令来绘制任何数据块(例如从第6到第800个数据,但是每5个点。我知道如何利用每个来选择第一个1000个数据(但不是任何块)和每个 5个点分开。有没有办法在一个班轮中做到这一点?
Plot "file.dat" every ::::1000 every 5 u 1:4
没有做到这一点。谢谢!
答案 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”。)