【发布时间】:2013-09-03 16:07:18
【问题描述】:
我有一个二进制文件 - 1 列,20 个值。
前10-x坐标
以下 10 - 对应的 y 坐标。
是否可以在不进行预处理的情况下使用 gnuplot 绘制 x-y 图? 如果没有,我如何预处理二进制文件(不将其转换为普通文本文件)以在 gnuplot 中绘图?
【问题讨论】:
我有一个二进制文件 - 1 列,20 个值。
前10-x坐标
以下 10 - 对应的 y 坐标。
是否可以在不进行预处理的情况下使用 gnuplot 绘制 x-y 图? 如果没有,我如何预处理二进制文件(不将其转换为普通文本文件)以在 gnuplot 中绘图?
【问题讨论】:
据我所知,这在 gnuplot 中是不可能的,尽管它为 binary 文件提供了大量选项。绘制文件的一种可能性是使用以下 python 脚本(前提是,您的数字存储为integer),否则您必须调整它:
import sys
import numpy as np
np.savetxt(sys.stdout, np.fromfile(sys.argv[1], dtype='i4').reshape(2,10).transpose())
并用
绘制它plot '< python script.py data.bin'
如果您打算更多地使用二进制数据文件,我建议您使用HDF5 文件格式。
【讨论】:
h5totxt 即时绘制。