【问题标题】:Plot x-y data from same column in Gnuplot在 Gnuplot 中绘制同一列的 x-y 数据
【发布时间】:2012-10-10 19:14:06
【问题描述】:

我正在阅读 Gnuplot in Action 一书,偶然发现了有关“每个”命令的部分。作者使用的样本数据是:

# time - value
0 100.03 # temperature
0 2.10 # pressure
1 100.26 # t
1 2.02 # p
2 101.34 # t
2 1.95 # p
3 102.41 # t
3 1.87 # p

他使用以下命令绘制温度与第一列数据(时间)的关系:

plot "data" every 2 using 1:2 with lines

有没有一种方法可以绘制温度与压力的关系图,而无需操作文件本身?换句话说,是否可以将同一列用于绘图的 x 和 y 数据?

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    我不知道怎么做,因为 gnuplot 一次读取 1 个“记录”。您可以告诉 gnuplot 要读取哪些记录,但没有办法告诉 gnuplot 混合相邻的记录(除了将繁重的工作交给其他实用程序)。但是,由于 gnuplot 可以读取其他实用程序的标准输出,因此您可以这样做而不会弄乱位于磁盘上的文件或创建任何临时文件。以下是使用 awk 的方法:

    #untested
    plot '<awk "BEGIN{getline}{a=$2;getline; b=$2;    print a,b}" test.dat' u 1:2 w lines
    #          #discard header #line1        #line2  #print mix
    

    使用sed 可能有更简单的方法,但我不知道sed 以及我知道awk,这还不错

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多