在一些模拟之后,我有一个从python脚本生成的三列数据文件。它在前两列中有两个参数,在第三列中有一个函数的值。我读到数据列应该采用特定格式输入到gnuplot中的pm3d。是否有将数据文件格式化为pm3d格式的快捷方式? (每次x值变化后为空白行)。虽然我的数据点间隔均匀,但数据都混淆了,所以我发现格式有点难度。请帮忙。
示例文件
1 2 3
2 6 5
1 1 8
2 5 3
(原始文件有> 40000行)
答案 0 :(得分: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