我正在尝试在一个图形上绘制线条图和错误条形图。我在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
好像一半的绘图有效,而另一半没有。
我在做什么错了?
答案 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