2013-09-03 4 views
0

У меня есть двоичный файл - 1 столбец, 20 значений.gnuplot: построение из двоичного файла, содержащего один столбец

Первые 10 - х координатные

следующие 10 - соответствующие координаты. У

Возможно ли построить график x-y с использованием gnuplot без предварительной обработки? Если нет, то как я могу предварительно обработать двоичный файл (не преобразовывая его в обычный текстовый файл) для построения в gnuplot?

ответ

0

Насколько я вижу, это невозможно с помощью gnuplot, хотя он предлагает массивные опции для файлов binary. Одна возможность построить свой файл будет со следующим скриптом питона (при условии, ваши номера хранятся в виде 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.

+0

Спасибо Кристоф, особенно за дополнительную информацию о том, как использовать скрипты python в gnuplot. Поэтому, по сути, я использую python (или что-то еще) для переформатирования данных и сохранения его в виде текстового файла перед построением в gnuplot. Я рассмотрю формат файла HDF5. Спасибо за предложение. – umayfindurself

+0

@ user2000581 Если ответ решил вашу проблему, [вы можете подумать о ее принятии] (http://stackoverflow.com/about). Я использую HDF5 для сохранения очень больших файлов данных в независимом от платформы двоичном формате, который затем может быть нанесен «на лету» с помощью ['h5totxt'] (http://ab-initio.mit.edu/wiki/index. PHP/H5utils). – Christoph

Смежные вопросы