GNU仅绘制两个图的第一个

时间:2018-08-28 09:03:32

标签: plot gnuplot

我正在尝试在一个图形上绘制线条图和错误条形图。我在Internet上发现了许多示例,因此我认为这是微不足道的。但是,我在解决这个问题上遇到了麻烦。本质上,我有一个文件plot.dat,其中包含:

set title "name" font "Helvetica, 20"
  set xlabel "xname" font "Helvetica, 20"
  set ylabel "yname" font "Helvetica, 20"
  set xrange [    0.00000: 100.00000]
  plot '-' u 1:2 with lines, '-' u 1:2:3 with yerrorbars
     1.00000        13787.5        318.595    
     3.00000        33561.5        349.861    
     5.00000        52866.6        412.335    
     7.00000        71501.0        469.513    
     9.00000        90352.7        522.629    
     11.0000        109163.        571.996    
     13.0000        127642.        617.996    
     15.0000        147510.        661.706    
     17.0000        166395.        701.951    
     19.0000        185247.        739.308    
     21.0000        203929.        774.973    
     23.0000        223604.        811.215    
     25.0000        245035.        845.310    
     27.0000        267404.        881.029    
     29.0000        293466.        920.162    
     31.0000        321489.        957.751    
     33.0000        361064.        1005.69    
     35.0000        413496.        1065.30    
     37.0000        510098.        1161.29    
     39.0000        765350.        1365.36    
     41.0000        348426.        953.718    
     43.0000        43834.8        351.409    
 e 

我使用load 'plot.dat'对此进行了绘制。我正在寻找一个绘图,在该绘图中我看到了误差线并且这些点与一条线相连。但是,我得到的是没有误差线和警告消息的线图:

"plot.dat", line 55: warning: Skipping data file with no valid points

好像一半的绘图有效,而另一半没有。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

每次引用伪文件'-'时,它都会从输入流中读取。输入流中只有一个数据副本。第一个图消耗了它,而第二个图则没有数据。您要么需要在输入流中提供数据的两个副本,要么将其放置在可以多次读取的位置。即在文件或数据块中。数据块解决方案如下所示:

$DATA << EOD
     1.00000        13787.5        318.595    
     3.00000        33561.5        349.861    
     5.00000        52866.6        412.335    
     7.00000        71501.0        469.513    
     9.00000        90352.7        522.629    
     11.0000        109163.        571.996    
     13.0000        127642.        617.996    
     15.0000        147510.        661.706    
     17.0000        166395.        701.951    
     19.0000        185247.        739.308    
     21.0000        203929.        774.973    
     23.0000        223604.        811.215    
     25.0000        245035.        845.310    
     27.0000        267404.        881.029    
     29.0000        293466.        920.162    
     31.0000        321489.        957.751    
     33.0000        361064.        1005.69    
     35.0000        413496.        1065.30    
     37.0000        510098.        1161.29    
     39.0000        765350.        1365.36    
     41.0000        348426.        953.718    
     43.0000        43834.8        351.409    
EOD

plot $DATA u 1:2 with lines, $DATA u 1:2:3 with yerrorbars