Gnuplot代码:绘制数据以单独的块组织

时间:2012-10-05 04:44:48

标签: gnuplot

我需要在每个第二个块的第2行中绘制迭代(不是i)与f(i)的关系。我用'*'标记了值。我尝试使用'every'来提出一些解决方案,但无法弄清楚如何从两个独立的块中相互映射数据。有多个块继续使用此模式。我选择只显示1次重复。重新格式化数据是最后的选择。我想设计一种方法来绘制当前格式的数据。有人能提供一些见解吗?

 i     f(i)       x(i)    iteration =   0*

 1  0.000E+00  1.478E-02  Vlnp                                    
 2 -1.000E-06* 7.352E-01  Vvnp                                    
 3  0.000E+00  7.512E-01  rhovnp                                  
 4 -9.721E-01  9.180E+02  Pnp                                     
 5  9.721E-01  4.380E+06  hvnp                                    
 6  1.000E-06  1.000E-06  mdevap                                  

 i     f(i)       x(i)    iteration =   1*

 1 -2.776E-17 -1.265E+02  Vlnp                                    
 2  1.985E-10* 1.273E+02  Vvnp                                    
 3 -1.224E-03  4.292E+03  rhovnp                                  
 4 -9.983E-01  9.180E+02  Pnp                                     
 5  1.018E+00 -2.560E+10  hvnp                                    
 6  4.468E-08  3.250E+06  mdevap                                  

1 个答案:

答案 0 :(得分:1)

我强烈建议您重新构建数据。也可以使用grepawksed等工具在gnuplot中内联。这是一个有效的例子。

 plot "< grep '*' kxkdata | awk '/^ i/ {printf $6\" \"} /^ 2/ {print $2}' | sed 's/\*//g'"

基本上<意味着从一种子shell中读取(我称之为文件kxk7607)。有关命令行工具的使用,您可以在线查找信息。