2012-02-25 2 views
2

Кто-нибудь, пожалуйста, разъяснит двоичный формат gnuplot?Gnuplot: Как построить многократные временные ряды из двоичного формата

Цель состоит в том, чтобы построить два временных ряда из двоичной трубы в виде линейных графов на одном графике. Серия - float64. Я конвейеру их использовать что-то вроде:

plot "-" binary format="%float64" endian=big with lines 

Однако, я не понимаю, в каком порядке эти данные должны идти в выше, я могу указать array=10, и трубы в 10 номеров;. это работает. Однако, как насчет двух серий? А что, если они индексируются по-разному?

Заранее спасибо.

+0

Этот вопрос также может быть связан: [Построение 1D двоичного массива (uint8) с несколькими записями в gnuplot] (http://stackoverflow.com/questions/14472419/plotting-1d-binary-array-uint8-with-multiple -Records-в-Gnuplot) – sdaau

ответ

2

Вы можете использовать эту функцию для двух серий:

plot "-" binary format="%float64" record=10 endian=big with lines, 
    "-" binary format="%float32" record=20 endian=big with lines 

Я recommed использовать record вместо array, таким образом, вы можете вручную задать или работать значение по оси X с помощью команды using ($0*2):1.

Если они индексируются по-разному, например, чересстрочные, невозможно указать это на gnuplot. Просто скопируйте в трубу информацию дважды, и игнорировать, не полезную часть с *:

plot "-" binary format="%float64%*float32" record=20 endian=big with lines, 
    "-" binary format="%*float64%float32" record=20 endian=big with lines 

Во всяком случае, Gnuplot не позволяет представлять два графика с теми же входными данными, так что данные должны быть copyed два раза больше всего времени.

Надеюсь, что это поможет!

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