【问题标题】:gnuplot: plotting from a binary file containing single columngnuplot:从包含单列的二进制文件中绘图
【发布时间】:2013-09-03 16:07:18
【问题描述】:

我有一个二进制文件 - 1 列,20 个值

前10-x坐标

以下 10 - 对应的 y 坐标。

是否可以在不进行预处理的情况下使用 gnuplot 绘制 x-y 图? 如果没有,我如何预处理二进制文件(不将其转换为普通文本文件)以在 gnuplot 中绘图?

【问题讨论】:

    标签: plot binary gnuplot


    【解决方案1】:

    据我所知,这在 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 文件格式。

    【讨论】:

    • 感谢 Christoph,特别是关于如何在 gnuplot 中使用 python 脚本的附加信息。所以本质上,我使用 python(或其他东西)重新格式化数据并将其保存为文本文件,然后在 gnuplot 中绘图。我将研究 HDF5 文件格式。感谢您的建议。
    • @user2000581 如果答案解决了您的问题,you might consider accepting it。我使用 HDF5 以独立于平台的二进制格式保存非常大的数据文件,然后可以使用 h5totxt 即时绘制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多