【问题标题】:Formatting data file to plot as pm3d map in gnuplot格式化数据文件以在 gnuplot 中绘制为 pm3d 地图
【发布时间】:2017-04-26 07:16:26
【问题描述】:

经过一些模拟,我有一个从 python 脚本生成的三列数据文件。它的前两列有两个参数,第三列有一个函数的值。我读到数据列应该采用特定格式输入到 gnuplot 中的 pm3d 中。是否有将数据文件格式化为 pm3d 格式的快捷方式? (每次 x 值更改后都有一个空行)。虽然我的数据点是均匀分布的,但数据都混在一起了,所以我发现格式化有点困难。请帮忙。

示例文件

1 2 3
2 6 5
1 1 8
2 5 3

(原始文件有 > 40000 行)

【问题讨论】:

    标签: python gnuplot


    【解决方案1】:

    确实,正如Gnuplot FAQ 在 3.9 中提到的那样,每次更改 x 坐标后都需要一个空行。它甚至推荐了一个 gawk 脚本来执行这个“转换”。如您所说,如果您的数据混淆了,您可能需要先对其进行排序,然后再应用上述脚本。

    假设 gawk 脚本 addblanks.awk 包含:

    /^[[:blank:]]*#/ {next} # ignore comments (lines starting with #)
    NF < 3 {next} # ignore lines which don't have at least 3 columns
    $1 != prev {printf "\n"; prev=$1} # print blank line
    {print} # print the line
    

    你的数据文件是,例如,input.dat,那么

    sort -k1,1g -k2,2g input.dat | gawk -f addblanks.awk
    

    生产

    1 1 8
    1 2 3
    
    2 5 3
    2 6 5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2014-09-09
      相关资源
      最近更新 更多