Редактор диаграмм yEd

redaktor-diagramm-yed

Иногда мне приходится рисовать разные схемы и диаграммы. В зависимости от конечного результата я использовал две разные программы: если нужно по-быстрому набросать схему для себя, то я писал скрипты для graphviz – результат получался страшненький, но зато всегда можно быстро что-то подправить, а расположение узлов схемы выберет сама программа. Если конечный рисунок нужно кому-то показывать, то тут уж приходилось использовать полноценный векторный редактор (обычно Corel Designer), чтобы схема смотрелась получше, но при этом приходилось самому располагать узлы схемы, чтобы уменьшить количество пересечений ребер, а добавление нового узла часто приводило к серьезной перерисовке схемы.

А недавно попалась замечательная программка yEd, предназначенная специально для рисования диаграмм. Это специализированная программа, не предназначеная для рисования высокохудожественных рисунков, а вот схемы и диаграммы рисовать в ней одно удовольствие. Еще большее удовольствие – это играться с ее возможностями автоматического расположения узлов графов. Но обо всем по порядку.

К справке по yEd прилагаются некоторые готовые схемы, поэтому, чтобы не изобретать велосипед, часть схем для скриншотов я возьму оттуда.

Интерфейс программы yEd

Читать далее ‘Редактор диаграмм yEd’ »

MagicPlot. Еще одна программа для рисования графиков

magicplot-eshhe-odna-programma-dlya-risovaniya-grafikov

Продолжим тему программ для рисования графиков, начатую постом «Две программы для рисования графиков» и продолженную здесь. В комментариях к первой из перечисленных записей кинули ссылку на еще одну подобную программу, про которую тоже стоит рассказать.

Программа называется MagicPlot и существует как в виде платной версии, так и в виде бесплатной студенческой версии, которую, правда, нельзя использовать в коммерческих целях.

В отличие от описанных ранее программ, MagicPlot умеет строить только графики вида y(x), то есть никаких круговых диаграмм, линий уровня и, тем более, трехмерных графиков от нее не ждите (по крайней мере пока). Но обычные двумерные графики в виде линий строить в ней довольно удобно.

Главное окно Magicplot

Читать далее ‘MagicPlot. Еще одна программа для рисования графиков’ »

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

veusz-programma-dlya-postroeniya-grafikov

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

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

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

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

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

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

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

PicPick 2.2

picpick-2-2

Недавно обновилась замечательная программа для создания скриншотов PicPick, теперь она имеет версию 2.2.0.

Я уже несколько раз писал про эту программу (более полный обзор находится здесь, и небольшие заметки здесь и здесь), пришлось даже для этой программы заводить отдельный тег – picpick. С момента написания прошлого поста про эту программу, в ней произошли многие изменения, а в последней версии и не только приятные. Но начнем с хороших новостей.

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

Picpick с риббонами

Picpick с риббонами

Picpick с классическим интерфейсом

Picpick с классическим интерфейсом

Читать далее ‘PicPick 2.2’ »

Raw Therapee. Бесплатный конвертер RAW-файлов

Недели три назад попался любопытный опенсорсный кроссплатформенный конвертер RAW-файлов Raw Therapee. Очень, надо сказать, любопытная программка. Поковырялся с ней эти три недели, погонял ее в реальной обстановке, в какой-то момент даже думал окончательно перейти на нее с Lightroom’а, но в результате решил пока повременить.

Вообще говоря, конвертеры файлов RAW – эта такие программы, к которым надо какое-то время попривыкать, чтобы чувствовать себя в ней комфортно и понимать, что она будет делать при передвижении того или иного ползунка. А так как обычно для работы с RAW я пользуюсь Lightroom, то сравнивать Raw Therapee буду с ним.

Общий взгляд

Внешний вид Raw Therapee, как и всех приличных программ для конвертации RAW, напоминает пульт управления космического корабля в фантастических фильмах – такое ощущение, что элементов управления в адронном коллайдере и то меньше. Но зато если поборешь в себе желание сразу же закрыть окно программы и забиться куда-нибудь в угол, чтобы больше не видеть этого кошмара, то через некоторое время начинаешь жонглировать ползунками не задумываясь.

Внешний вид программы Raw Therapee

Читать далее ‘Raw Therapee. Бесплатный конвертер RAW-файлов’ »

PicPick 2.1

picpick-2-1

Этот пост написан специально для [info]ibigdan, чтобы сказать, что в новой версии проги для создания скриншотов PicPick (что-то сайт программы пока не открывается, поэтому закачал архив с программой сюда) сделали то, что ему не хватало в предыдущей версии. А для остальных чуть поподробнее :)

В прошлой версии у PicPick появилась возможность автоматом закачивать скриншоты на FTP-сервер или открывать во внешней программе, например, в любимой смотрелке. Но работала эта возможность странно – скриншот можно было или открывать во встроенном графическом редакторе, или во внешней программе, или отправлять на FTP, отсылать на сервер из самого редактора было нельзя. Если для внешней программы такое ограничение понятно, то почему почему нельзя было отсылать скриншоты из встроенного редактора не ясно, получалось, что на сервер можно было отправлять только необработанные скриншоты.

Так вот теперь и из встроенного редактора можно не только отправлять картинки на сервер, но и открывать во внешней смотрелке. Заодно изменился и интерфейс встроенного редактора, который получил новомодные риббоны. Таким образом PicPick можно поздравить с тем, что она стала первой прогой с риббонами, которой я активно пользуюсь. :) Правда, я пока не понял удобно это или нет, но особых проблем не заметил, да и внешне смотрится симпатично, хотя столько места, занятого по вертикали немного жалко.

PicPick 2.1 picpick 21 300x231

Из оставшихся мелочей во встроенном редакторе появились горизонтальная и вертикальная линейка, появилась «полная поддержка Windows 7″ (в чем это выражено пока не знаю, за неимением семерки), а еще автор исправил недоразумение, что в настройки надо было входить через Пункт меню «About».

В целом получилась очень даже неплохая версия.

PicPick 2.0. Новая версия программы для создания скриншотов

picpick-2-0-novaya-versiya-programmy-dlya-sozdaniya-skrinshotov

Когда-то я уже писал про такую замечательную прогу для создания скриншотов как PicPick. После некоторого затишья в прошлом году, в этом автор активно взялся за развитие этой программы, в последнее время за месяц стали выходить по две версии с различными исправлениями.

И вот на днях вышла очередная версия, в которой произошло довольно много изменений, благодаря которым программа получила версию 2.0. Изменения очень даже полезные, поэтому я решил еще один пост посвятить этой программе. Основные я описывал в прошлый раз, поэтому сейчас расскажу только про изменения, которые произошли с того времени.

Читать далее ‘PicPick 2.0. Новая версия программы для создания скриншотов’ »

Scan Tailor. Программа для обработки отсканированных книг

scan-tailor-programma-dlya-obrabotki-otskanirovannykh-knig

Попалась мне недавно программка Scan Tailor, которая предназначена для автоматической обработки отсканированных книг. С помощью этой программы можно разрезать страницы, если страницы сканировались не по одной, а целыми разворотами, можно исправить наклоны страниц, если они криво лежали в сканере, и провести еще некоторые полезные обработки.

Программа является бесплатной, да еще и с открытыми кодами, если версия под Винду, а можно из исходников скомпилить и под Линух. Официальный сайт – http://scantailor.sourceforge.net/.

Книжки сканирую я, к счастью, не часто, а вот обрабатывать уже отсканированные кем-то иногда приходится, в основном чтобы разрезать отсканированные развороты страниц на отдельные страницы. Описать программу Scan Tailor я решил на примере такой обработки. Для экспериментов взял первую попавшуюся книжку в формате DJVU с двойными страницами (первой попалась книга Ю.Ю. Ненахова «Чудо-оружие третьего рейха») и для начала преобразовал все страницы в формат TIFF, потому что для Scan Tailor исходными данными являются отсканированные рисунки. Для преобразования DJVU -> TIFF я использовал программу DjvuOCR. В результате у меня получилось 310 файлов TIFF каждый из которых содержал по две страницы.

Читать далее ‘Scan Tailor. Программа для обработки отсканированных книг’ »

Смайлик

Вот такую картинку получил сегодня в процессе отладки одной программы.

Смайлик smile

Две программы для рисования графиков

dve-programmy-dlya-risovaniya-grafikov

По работе часто требуется рисовать различные графики по насчитанным данным, раньше для этого использовал связку Python + MatPlotLib, но внешний вид таких графиков как правило оставлял желать лучшего. В принципе, в MatPlotLib можно настроить внешний вид так, как хотелось бы, но для этого надо каждый раз исправлять и перезапускать скрипт, затем увидеть, что, например, легенда налезла на сам график, и опять исправлять, и опять перезапускать, и т.д. Хотелось бы все это делать визуально, щелкая мышкой.

На работе посоветовали программу Grapher от Golden Software, в которой внешний вид графиков можно действительно настроить как угодно, от окна настроек в первый раз глаза разбегаются. Но есть у этой программы один маааленький недостаток – ее разработчики хотят кушать, и поэтому программа стоит денег, причем не маленьких – $349.

После этого, скорее из спортивного интереса, стал искать бесплатный аналог. Как ни странно, среди бесплатных прог,а точнее даже Open Source, в основном попадались исключительно под *nix, среди них была и QtiPlot, которая хоть и Open Source, но за полную сборку без ограничений под винду разработчики тоже хотят денег, а чтобы скомпилировать ее самомстоятельно, надо попотеть.

И вод недавно где-то на просторах ЖЖ попалась ссылка на программу SciDAVis, которая начала свое развитие как ответвление от QtiPlot, но в то же время у нее есть полноценная сборка под винду.

Дальше я попытаюсь сравнить эти две программы.

Хранение данных

Grapher и SciDAVis отличаются между собой настолько, что проще перечислить что у них общего, то есть то, что эти две программы предназначены для рисования графиков, а SciDAVis еще и для обработки данных (в Grapher тоже можно делать несложную обработку, но там это не настолько удобно).

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

С другой стороны, в Grapher’е часто пользовался тем, что он не хранит данные у себя в проекте. Во время отладки своей программы можно однажды созданному проекту подсовывать каждый раз новые данные, и для того, чтобы увидеть оформленный результат, достаточно перезапустить Grapher. Но это же создает лишние проблемы при переносе файла проекта с одного компа на другой; Grapher хранит в себе абсолютные пути к файлам и, если видит, что какого-то файла нет, то просит указать новый путь.

Открытие файлов

В качестве исходных данных обе программы понимают текстовые файлы, в которых числа записаны столбцами, и файлы, в которых числа разделяются запятыми (CSV). Кроме этого Grapher может открывать файлы Excel, Lotus 1-2-3 и Symphony, DBF и еще пару форматов собственной разработки.

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

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

Рисование графиков

Внешний вид главного окна Grapher’а напоминает обычный векторный графический редактор с деревом объектов, где на листе располагаются графики

Две программы для рисования графиков grapher common 300x255

Внешний вид окна Grapher

Grapher оставляет SciDAVis далеко позади по количеству настроек внешнего вида графиков, от которых при первом запуске разбегаются глаза.

Две программы для рисования графиков grapher options 230x300

Окно настроек внешнего вида для графиков

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

Можно посмотреть и таблицу с данными

Две программы для рисования графиков grapher worksheet

Таблица данных в Grapher. Напоминает Excel

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

Две программы для рисования графиков scidavis common 300x292

Внешний вид окна SciDAVis

Настройки графиков здесь поскромнее, например, я не увидел возможности заливать области градиентом, толщина линий задается в неизвестных единицах, в то время как у Grapher ее можно задавать или в inch, или в мм. Еще в SciDAVis хотелось бы иметь возможность делать линии графиков потоньше, чем они есть при минимальной толщине.

Типы графиков

Кратко перечислюкакие графики могут рисовать обе программы, а потом приведу несколько примеров.

Обе программы могут рисовать следующие типы графиков:

  • Обычный график по точкам, когда точки соединяются прямыми линиями или спланом. Исходные точки на графике могут отмечаться какими-нибедь символами. А можно оставить только эти символы без линий и получится так разываемый Scatter.
  • Графики, у которых точки соединяются только горизонтальными и вертикальными линиями, получаются ступеньки.
  • Графики, представляющие собой вертикальные столбики, обычно их называют Bar. Есть отдельный тип графиков, когда кроме вертикального верхнего уровня столбиков задаются еще и нижние уровни.
  • Есть отдельные типы графиков для рисования гистограмм.
  • График, когда область под графиком закрашивается или заштриховывается.
  • Диаграмма в виде долек пирога – Pie Chart.
  • График, изобращающий набор векторов. Причем можно задавать координаты начала и конца вектора, а можно задавать координаты начала, его длину и угол поворота.
  • Так называемый Box Plot, используемый для отображения статистических данных.
  • Линии уровней.
  • Можно рисовать различные трехмерные графики.
    • Трехмерные траектории
    • Трехмерные Scatter’ы
    • Графики в виде трехмерной ленты
    • Трехмерные столбцы, положение на плоскости которых задается двумя координатами, а третья координата определяет их высоту.
    • Трехмерные поверхности. Правда, у SciDAVis такой тип графиков получается угловатый, Grapher умеет сглаживать углы для таких графиков.

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

Кроме перечисленных типов Grapher может рисовать многие типы графиков в полярной системе координат. График в виде пирога в нем может быть трехмерным. Есть еще в нем такие специфические типа графиков как Stiff diagram и Ternary plot.

Графики в Grapher’е рисовать проще, чем в SciDAVis’е, в котором как правило приходится делать больше нажатий на кнопки. Например, Grapher в качестве данных для одной из координат использовать номера строк, а в SciDAVis’е для этого приходится вручную делать новый столбец, который потом заполнять номерами строк с помощью специального пункта меню.

Ниже приведены несколько типов графиков, построенных в этих программах.

Box whisker в Grapher

Box whisker в Grapher

Трехмерная траектория в SciDAVis

Трехмерная траектория в SciDAVis

Трехмерный пирог в Grapher

Трехмерный пирог в Grapher

Векторы в SciDAVis

Векторы в SciDAVis

Линии уровня в Grapher

Линии уровня в Grapher

Данные, апроксимированные сплайном в SciDAVis

Данные, аппроксимированные сплайном в SciDAVis

Экспорт графиков

Обе программы могут экспортировать графики в различные графические файлы. Список поддерживаемых форматов у Grapher’а посолиднее. SciDAVis из более-менее распространенных растровых форматов знает только BMP и PNG. Странно, что нет ни TIFF, ни JPEG, ни GIF. Да и PNG получается уж слишком большим. Для примера, файл PNG, созданный SciDAVis, весит 500 кБ, а после его пересохранения с помощью Irfan View, он ужимается до 15 кБ (потому что цветов там не много).

Из векторных форматов SciDAVis может сохранять EPS и SVG. При сохранении в SVG я натыкался на глюки, но не знаю кого в них винить, то ли SciDAVis, который файл создавал, толи Inkscape, который его открывал. В отличие от Grapher’а, SciDAVis, к сожалению, не умеет сохранять файлы в формате EMF и WMF, которые лучше всего подходят, если графики надо вставлять в Ворд.

Обработка

В CsiDAVis можно писать скрипты для обработки на языке muParser и вроде бы на Python, но при попытке выбрать язык для скриптов Python, SciDAVis благополучно падает, поэтому такую замечательную задумку мне потестировать так и не удалось, а жаль, я бы таким скриптам нашел применение.

На скрипты Grapher отвечает макросами на языке Basic (так называемый Sax Basic). Эти макросы напоминают макросы из MS Office.

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

Обе программы могут рассчитывать различные статистические коэффициенты вроде среднего значения по столбцу или таблице, дисперсию и т.п.

У SciDAVis еще есть функции для расчета корреляции, автокорреляции, свертки и деконволюции.

Но в SciDAVis особенно понравились функции взятия прямого и обратного быстрого преобразования Фурье (БПФ, оно же FFT) и функции для работы со спектрами и сигналами.

Например, можно загрузить одномерный сигнал, и при использовании быстрого преобразования Фурье (к сожалению, нет обычного дискретного преобразования Фурье) можно указать шаг дискретизации, и тогда SciDAVis построит спектр, где по горизонтальной оси будет отложена правильно рассчитанная частота, а не отсчеты. Причем, спектр можно оставить в том виде, как он получается при использовании БПФ, то есть сначала идут гармоники положительной частоты, а потом отрицательной, а можно можно автоматически переставить половинки спектров, чтобы отрицательные частоты шли до положительных. Спектр также можно автоматически пронормировать к максимальному значению.

Спектр, когда отрицательные частоты идут после положительных

Спектр без перестановки отрицательных частот в начало

Спектр, когда отрицательные частоты идут до положительных

Спектр, когда отрицательные частоты идут до положительных

Над спектрами и сигналами можно проводить различную обработку. Например, можно продифференцировать сигнал, или наоборот посчитать интеграл в заданных пределах. К сигналам можно применять различные частотные фильтры.

Кроме того SciDAVis поддерживает плагины, которые могут содержать новые функции, но как их делать я найти пока не смог.

Разное

Еще одним преимуществом SciDAVis является то, что файл его проекта является текстовым файлом, который при желании можно сгенерировать отдельной программой или скриптом. У Grapher’а формат проекта бинарный и закрытый.

Кроме того SciDAVis умеет экспортировать графики и данные в pdf, в принципе, мелочь, но вдруг в хозяйстве пригодится.

На сайте SciDAVis есть кроме стабильной еще бета-версия, в которой значительно изменен интерфейс, но эта версия еще слишком сырая, поэтому про нее говорить пока рановато.

Как видите, у каждой программы есть свои сильные и слабые стороны. У Grapher’а более удобное рисование графиков с большим количеством настроек. Зато в SciDAVis удобней делать обработку данных. Grapher умеет сохранять графики в большее число форматов, но зато у самого SciDAVis проект является текстовым файлом.

Для себя я еще не решил какая из этих программ мне больше подходит, скоро мне понадобится рисовать много графиков, вот тогда и посмотрим.

Еще раз напомню ссылки на программы:

Официальная страница Grapher’а находится здесь, а SciDAVis – здесь.