LINUX.ORG.RU

Как строить графики?

 ,


0

1

Имеются файлы со значениями типа

0.5865
0.5816
0.5816
0.5767
0.5767
0.5767
на несколько тысяч строчек. Могут попадаться пустые строчки, тогда надо в этом месте не рисовать точку, а соединять те, где значения есть.

Нужно по файлу строить график типа такого: https://pp.vk.me/c604520/v604520540/30be2/0b-76JEDG74.jpg (этот построен в LO Calc, но там слишком много мышковозни). Надо, чтобы 0 по значениям был минимумом на графике, масштаб по значениям определялся бы автоматически. Разрешение итогового изображения заданное.

Интервал между измерениями составляет 0.1с, поэтому надо, чтобы по аргументу у меня максимальное значение было не по количеству строчек в файле, а в 10 раз меньше.

В идеале, в консоли одна команда, которая принимает имя входного файла и имя выходного в png.

Вроде бы gnuplot умеет делать как нужно, но я понимаю, как с ним работать.

★★★★★

В gnuplot получается строить график в окне программы

set yrange [0:]
plot 'data' using ($0*0.1):1 with lines
Но пока не разобрался, как сделать так, чтобы делать картинку с графиком по файлу одной командой из терминала

Klymedy ★★★★★
() автор топика
Ответ на: комментарий от Klymedy

На вот я тут баловался делал волны для вафок:

set terminal png transparent truecolor size 600,60;
set output;

  unset key;
  unset tics;
  unset border;
  set lmargin 0;
  set rmargin 0;
  set tmargin 0;
  set bmargin 0;

  plot '<cat' binary filetype=bin format='%int16' endian=little array=1:0 with lines;
запускал типа так:
#!/bin/sh
find . -name '*.mp3' -exec sh -c 'ffmpeg -i "$0" -ac 1 -ar 4000 -f s16le -acodec pcm_s16le - | gnuplot ./gplt | dd of="$0".png' {} \;
Может поможет. Мне щас некогда ковырять.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Я почти разобрался. Файл выглядит примерно так:

set yrange [0:]
set terminal png size 1280,720
set output output
plot file using ($0*0.1):1 notitle with lines

запускаю так:

gnuplot -e "file='path/to/data'; output='path/to/data.png'" graph.plg

Только я подумал, что удобнее передавать один агрумент, а пишет оно пусть в файл, называющийся также, только с .png на конце. Только если пишу

set output file+".png"
оно ругается и портит файл с данными.

Klymedy ★★★★★
() автор топика
Последнее исправление: Klymedy (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.