Veusz. Программа для построения графиков

veusz-programma-dlya-postroeniya-grafikov

Примерно полтора года назад я уже писал про две программы для рисования графиков. Честно говоря, развитие этих программ за это время полшло в худшую сторону: в 8-й версии Grapher’а появились некоторые проблемы с русскими буквами, а SciDAVis стал виснуть на простых операциях.

На днях я решил поискать какие еще есть подобные  программы. Я смотрел только программы для визуального оформления графиков, потому что скриптовый софт вроде gnuplot и ему подобные удобны, когда надо одним чёхом построить много графиков или просто посмотреть что из себя представляют визуализируемые данные, а меня в основном интересуют программы для окончательного оформления графиков, когда каждый график оформляется индивидуально, когда по миллиметрам вымеряются положения разных частей графика, чтобы, например, легенда не перекрывала часть графиков. Скриптово это делать слишком утомительно, лучше просто передвигать мышкой ту же самую легенду.

Во время поиска наткнулся на довольно интересную программу, которая называется Veusz. Эта программа распространяется с исходниками под лицензией GPL и работает под Виндой, Линуксом и МакОСью.

В отличие от Grapher’а и SciDAVis’а, Veusz умеет строить не так много графиков:

  • обычный двумерный график зависимости y от x;
  • линии уровня;
  • двумерные картинки;
  • гистограммы;
  • графики функции, заданные аналитически.

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

Будем считать, что данные в файле у нас уже есть. Я возьму файл, в котором данные расположены в четырех столбцах, разделенных табуляцией. Часть файла показана на картинке:

Veusz. Программа для построения графиков veusz 01 data 300x128

Что это за данные сейчас не важно, просто возьмем их за данность. На самом деле это зависимость некоторой комплексной величины от частоты в ГГц. Первый столбец – частота, второй – действительная часть величины, третий – мнимая часть, а четверный – модуль.

После запуска программы мы увидим вот такое окно:

Veusz. Программа для построения графиков veusz 02 clear 300x260

Слева у нас дерево графиков, внизу настройки элементов графика, а справа вшений вид того, что мы получим в результате.

Сначала надо импортировать данные из файла. Выбираем в меню Data – Import и остаемся на вкладке Standart.

Veusz. Программа для построения графиков veusz 03 import 292x300

Сверху выбираем имя файла, откуда будут считываться данные, после чего сразу увидим содержимое этого файла. Из него мы должны загрузить все четыре столбца, для этого в поле Dataset names через пробел или запятые вводим четыре имени: по одному на каждый столбец.

Внизу можно ввести префикс и суффикс, которые будут добавлены к введенным именам. Я добавил префикс «gxx1_».

Нажимаем на кнопку Import, после чего увидим результат импортирования.

Veusz. Программа для построения графиков veusz 04 import 292x300

Мы загрузили четыре столбца, в каждом из которых 2047 строк.

Закрываем окно импорта и идем проверять, что данные действительно загружены. Для этого выбираем пункт меню Data – Edit и видим наши данные:

Veusz. Программа для построения графиков veusz 05 data 300x215

Теперь можно построить график. Для этого в дереве слева выбираем график «graph1″ (пока он там единственный) и выбираем пункт меню Insert – Add xy. В дереве появился пункт «xy1″, выбираем его. Под деревом в свойстве X data Выбираем загруженный столбец с частотой «gxx1_freq», а в X data – «gxx1_abs».

Veusz. Программа для построения графиков veusz 06 properties 236x300

По тем данным, что использовал я, сходу график стал выглядеть вот так:

Veusz. Программа для построения графиков veusz 07 graph 300x300

Но я знаю, что меня на этом графике интересует только диапазон частот 0 – 3 ГГц, а остальное – мусор. Поэтому выбираю в дереве ось X и устанавливаю свойство Max как 3. Для наглядности еще одноименное свойство оси Y устанавливаю как 1.

Veusz. Программа для построения графиков veusz 08 axis 192x300

График теперь выглядит так:

Veusz. Программа для построения графиков veusz 09 graph 300x300

По умолчанию на графике кружочками отмечены точки, по которым график построен, это все отключается.

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

Veusz. Программа для построения графиков veusz 10 graph 300x179

Интересно, что в надписях можно использовать формулы в нотации TeX. Честно говоря, рендерятся они немного странно, но это лучше, чем ничего.

Veusz. Программа для построения графиков veusz 11 graph 300x179

По двумерным данным можно строить линии уровня (я их сделал довольно цветастыми, но их можно оставить и в нормальном черно-белом виде).

Veusz. Программа для построения графиков veusz 12 contour 300x179

Или представить эти данные в виде картинки:

Veusz. Программа для построения графиков veusz 13 image 300x179

Тут надо сказать одну вещь. Дело в том, что разные проги для двумерных данных требуют исходные данные в разных форматах. Grapher, например, хочет, чтобы данные были представлены в виде трех (как минимум) столбцов: координата по X, координата по Y, значение. Таким образом, у нас в файле будет три столбца, а строк будет Nx * Ny, где Nx и Ny – количество отсчетов по осям X и Y.

Veusz для двумерных данных требует, чтобы данные сразу были записаны в виде Nx столбцов и Ny строк. Таким образом, здесь нет координат по осям как таковых, а есть только номера отсчетов, которые и откладываются по осям. Правда, никто не мешает спрятать существующую ось, а вместо нее добавить ось в том масштабе, который нужно. Например, можно для предыдущей картинки сделать такие вот оси:

Veusz. Программа для построения графиков veusz 14 image axis 300x179

Но о чтении данных с неравномерными отсчетами при таком формате придется забыть.

Еще в программе есть консоль, в которой омжно вводить команды на языке Python (хе-хе). Пока я, правда, не проникся идеей где это можно использовать кроме как калькулятора.

Файлы проекта Veusz – это текстовые файлы на своем скриптовом языке, поэтому при желании прямо в файле можно подменять ссылки на файлы с нужными данными.

Очень жаль, что программа не умеет строить трехмерные графики, а то так, как это сделано в Grapher’е мне как-то не особо нравится.

В общем, очень даже интересная программа, честно говоря, перейти на нее с Grapher’а я вряд ли решусь, но буду иметь ее в виду.

Еще раз напомню ссылку на официальный сайт программы – http://home.gna.org/veusz/.

Похожие записи

Пожалуйста, оцените запись

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 3.33 out of 5)
Loading ... Loading ...

Комментарии (4)

  1. Вовчик:

    Спс, хорошая прожка!

  2. Ветал:

    Такая программка была бы полезна, когда учился в универе! Помогла бы с вышкой!

  3. Electriq:

    > Очень жаль, что программа не умеет строить трехмерные графики, а то так, как это сделано в Grapher’е мне как-то не особо нравится.

    А что неудобно в Grapher’е?

  4. Jenyay:

    @Electriq
    Трудно объяснить. Там используется хитрый алгоритм для построения поверхности с несколькими параметрами, изменяя которые можно получить чуть ли не любую форму поверхности по одним и тем же данным.

Оставить комментарий

Subscribe without commenting

сертификат специалиста медицинский