Linux программы для построения графиков
Научное творчество само по себе процесс не тривиальный, требующий некоторого отрешения от внешнего мира. И нелинейный в плане распределения интенсивности во времени — порой проболтаешься впустую полгода, чтобы потом, в течение месяца-полутора решить большую часть беспокоящих тебя вопросов.
И вот, ты на 100% использовал возможности посетившей тебя «эврики», закончил основную работу и пришла пора опубликовать свои результаты в журнале, доложить их на конференции, да и просто порадовать своего научного руководителя/консультанта красивым отчетом. И ты приступаешь к мучительной фазе оформления статьи/доклада/отчета. И насколько мучительной будет эта фаза, зависит от того, какие инструменты ты решил использовать для этой работы.
Вспоминаю времена, когда молодым и глупым аспирантом, я писал первый вариант кандидатского «кирпича», предназначенный для тщательного «вычитывания» мной и моим научным руководителем. Тогда я не знал о формате EPS, а поэтому экспортировал графики, построенные в Maple в *.bmp-растр и вручную… обводил их в MS Visio для последующей вставки в Word. Были и другие, не менее топорные глупости. Не удивительно, что тогда я проклял всё, и дал себе слово следующую диссертацию писать совершенно по другому.
Путем последовательных итераций, на сегодняшний день я пришел к такому вот решению:
И настало время отдать накопленный опыт людям. Интересующимся, добро пожаловать под кат.
Думаю, я не открою Америку, и читатель знаком с данной утилитой. Чтобы долго не рассказывать о ней, я приведу ряд ссылок, прежде всего на официальный сайт проекта, понижающие порог вхождения «Записки дебианщика», а так же весьма полезный ресурс с многочисленными примерами, ну и весьма неплохо оформленный FAQ на русском языке. Это поможет быстро войти в курс дела, тем, кто ещё не пробовал данный инструмент в работе.
Если коротко — Gnuplot — мощная утилита для построения графиков, заданных аналитическими зависимостями, таблично (экспериментальные данные и данные численного моделирования), поддерживающая командный режим работы и написание скриптов. Пользователям Linux достаточно установить пакет из репозиторя своего дистрибутива, пользователи Windows и OS X тоже могут установить данную утилиту, руководствуясь инструкцией на официальном сайте. Я же буду излагать, всё запланированное к изложению, на примере Linux.
Набираем в командной строке:
Получая приглашение к вводу команд. Вводим, ну, например:
Когда я увидел это впервые, я тоже сказал «Фууу. » Это результат, полученный по умолчанию, и выглядит он как-то не солидно. Так никто не мешает его доработать. Прежде всего изменим цвет и толщину линии графика.
Сделаем «школьные» оси, с точкой пересечения в начале координат, рисованные сплошными линиями
Добавим сетку — пунктирные линии серого цвета:
Перенесем метки оси к самим осям поближе:
Изменим диапазон изменения аргумента:
И в конечном итоге получим вот это:
Что намного лучше первоначального варианта. Возможности кастомизации графиков просто шикарны, подробнее об этом можно прочесть по вышеприведенным ссылкам. Весь текст изложенный выше, предназначен для затравки, а речь пойдет о
Gnuplottex — пакет, входящий в поставку TeXlive, позволяющий вводить команды Gnuplot прямо в верстаемом документе. Не отвлекаясь на теоретизирование, приступим непосредсвенно к практике. Создадим новый документ
ВНИМАНИЕ! Сборка документа должна выполнятся с ключем -shell-escape, включающим возможность выполнения команд оболочки, либо так:
Либо задать этот ключик в настройках IDE (у меня это Kile):
Теперь, в теле документа будем ваять наш график:
После сборки получая:
Заметили что тут самое «вкусное»? Формула в подписи к графику выглядит по-человечески — вся мощь LaTeX в вашем полном распоряжении. А теперь допилим это дело напильничком:
Особо отметим команду:
Задающую тип терминала: EPS LaTeX с поддержкой цветного вывода; и его размер 12 х 15 см — ваш рисунок и есть этот терминал. В итоге получаем график
Слегка изменим код, добавив еще один стиль линий и график:
Видно, что нет принципиальной сложности в использовании рассматриваемой технологии. Можно добавить сюда же и трехмерный график:
Изменяем схему отображения с сетки на цветные полигоны:
Настройку внешнего вида, выбор палитры — всё это можно почерпнуть из документации к Gnuplot, а мы переходим к следующему пункту программы
В этом главная мощь данного инструмента. Пусть у вас имеется текстовый файл с данными, сформироваными следующим образом:
Первая колонка, например аргумент, вторая и третья — значения некоторых функций. Это может быть результат натурного эксперимента, или результат численного моделирования. Построение двухмерного графика будет выглядеть так:
Колонки нумеруются начиная с единицы. Дабы не было скучно, приведу пример из своих документов. Создам в папке с данным учебным проектом каталог results/ и помещую туда файл с результатами численного эксперимента 2319.log (тут своя специфика именования логов. ). Затем добавлю в наш проект такой код:
Помещает легенду в правый нижний угол поля графика, чтобы она не мешалась сверху и справа. Кроме того, команды Gnuplot и их параметры можно сокращать до степени однозначного трактования написания, как в этом примере: ti => title.
А теперь представьте себе, что вы сверстали диссертацию, но в последний момент вам понадобилось подставить другие результаты тех же самых измерений. Не надо переверстывать графики — подмените файл результатов и пересоберите проект. Всё! Ваша верстка никуда не денется. Пять минут дела, если изменение данных не ведет к далеко идущим научным выводам.
И последнее — если вы помещаете график на слайд Beamer, то окружение слайда должно содержать опцию fragile, иначе вас ждет ошибка компиляции. Вот так:
Изучение вопроса заняло у меня весь вчерашний вечер. Презентацию пришлось верстать уже ночью, но я успел и сегодня успешно доложится (отчет по первому году докторантуры). В душе осталось теплое ощущение от возможности открытых технологий, помогающих в научном труде. По какому пути идти, каждый выбирает для себя сам. Статья носит обзорный характер и освещает только вопросы необходимые для быстрого старта. Остальное легко можно почерпнуть из документации.
Kig — простая утилита для изучения и помощи в преподавании геометрии. Позволяет строить геометрические фигуры на плоскости, используя примитивы и выполнять интерактивные действия (преобразования, проверки).
MATE Calculator
MATE Calculator — калькулятор, используемый в среде рабочего стола MATE.
LibreOffice Math
Qalculate
Qalculate — мощный калькулятор с множеством функций и возможностей.
GeoGebra
GeoGebra — бесплатная математическая программа, обладающая множеством возможностей в области геометрии, алгебры, различных вычислений. Позволяет строить графики, чертежи, кривые, выполнять действия с матрицами, комплексными числами, работать с таблицами и многое другое.
SpeedCrunch
SpeedCrunch — продвинутый научный калькулятор высокой точности. Имеет библиотеку встроенных математических функций, хранит историю всех операций, поддерживает автодополение функций и обладает другими полезными возможностями.
Sage — очень мощное бесплатное математическое программное обеспечение. Sage затрагивает множество областей математики, включая алгебру, линейную алгебру, матанализ, вычислительную математику, комбинаторику, теорию графов и другие.
Alg3py
Alg3py — программа для работы с матрицами и векторами. Подойдет прежде всего студентам и школьникам. Поддерживаются унарные и бинарные операции.
Functy
Functy — бесплатная программа для построения 3D графиков. В программе вы указываете функции для ваших графиков в сферических или декартовых координатах. Functy строит их в трехмерном виде разными цветами.
Quickplot
Quickplot — программа для Linux для построения двухмерных графиков. Программа не умеет строить графики на основе формул, а использует в качестве входных данных файлы (массивы чисел). Таким образом, Quickplot создан для визуализации готового набора входных данных.
GCalctool
GCalctool (новое название Calculator) — стандартный калькулятор рабочей среды Gnome. Обладает большим числом функций и довольно прост в использовании. GCalctool имеет 4 режима: простой (Basic), расширенный (Advanced), финансовый (Financial) и программирование (Programming).
Galculator
Galculator — научный калькулятор для Linux. Galculator имеет три режима работы — простой, научный и paper mode, в котором вычисления можно проводить путем ввода выражения в текстовое окно.
Alg3py — программа для работы с матрицами и векторами. Подойдет прежде всего студентам и школьникам. Поддерживаются унарные и бинарные операции.
Functy
Functy — бесплатная программа для построения 3D графиков. В программе вы указываете функции для ваших графиков в сферических или декартовых координатах. Functy строит их в трехмерном виде разными цветами.
Quickplot
Quickplot — программа для Linux для построения двухмерных графиков. Программа не умеет строить графики на основе формул, а использует в качестве входных данных файлы (массивы чисел). Таким образом, Quickplot создан для визуализации готового набора входных данных.
gElemental
gElemental — периодическая система химических элементов, таблица Менделеева под Linux.
Stellarium
Stellarium — бесплатный виртуальный планетарий. Программа представляет собой трехмерную реалистичную карту звездного неба. Доступен большой справочник звезд (более 600000 объектов).
GoldenDict
GoldenDict — оболочка для электронных словарей. Поддерживает популярные форматы словарей ABBYY Lingvo, StarDict, Википедии и другие.
Anki — популярная бесплатная программа для запоминания иностранных слов, терминов, лиц. Изучение происходит путем показа карточек.
GCalctool
GCalctool (новое название Calculator) — стандартный калькулятор рабочей среды Gnome. Обладает большим числом функций и довольно прост в использовании. GCalctool имеет 4 режима: простой (Basic), расширенный (Advanced), финансовый (Financial) и программирование (Programming).
Galculator
Galculator — научный калькулятор для Linux. Galculator имеет три режима работы — простой, научный и paper mode, в котором вычисления можно проводить путем ввода выражения в текстовое окно.
Наверняка многие из вас листая западные научные издания видели красивые и простые графики. Возможно некоторые из вас задумывались в чём же эти учёные мужи визуализируют свою данные. И вот есть шикарный и очень простой инструмент для построения графиков, который есть практически везде: Windows, linux, android, и прочих, уверен даже есть под ДОС. Он надёжен, прост и позволяет представить в виде красивых графиков любые текстовые-табличные данные.
Почему именно gnuplot?
График из поста про генератор случайных чисел
Картинка из поста про speetest модемов
Графики простые и классные. Наиболее ценное преимущество gnuplot заключается в том, что для их построения вам нужен только текстовый файл с исходными данными, gnuplot на вашей любимой ОС (хоть OpenWRT) и любимый тестовый редактор vim.
На первый взгляд может показаться, что gnuplot сложнее в использовании для построения графиков чем MS Exel. Но это только так кажется, порог вхождения чуть выше (это вам не мышкой наклацать, тут надо документацию читать), но на практике выходит намного проще и удобнее. Один раз написал скрипт и используешь его всю жизнь. Мне реально намного сложнее построить график в Exel, где всё не логично, нежели в gnuplot. А главное преимущество gnuplot, то что его можно встраивать в свои программы и на ходу визуализировать данные. Так же gnuplot без особых проблем строит график с 30-ти гигабайтового файла статистических данных, тогда как Exel просто падал и не мог его открыть.
К плюсам gnuplot можно отнести то, что он легко интегрируется в код на стандартных языках программирования. Есть готовые библиотеки для многих языков, лично я сталкивался с php и python. Таким образом можно генерировать графики прямо из своей программы.
Для примера скажу, что моя хорошая подруга, когда писала диссертацию освоила gnuplot (с моей подачи). Она ни разу не технарь, но разобралась за один вечер. После чего строила графики только там, и уровень её работы стал выгодно отличаться на фоне коллег, использующих Excel. Лично для меня показателем высокого качества научной работы являются графики, построенные специализированными программами.
Таким образом, gnuplot — это просто, доступно и красиво. Едем дальше.
Gnuplot — применение
Работа с gnuplot возможна двумя способами: командный режим и режим выполнения скриптов. Рекомендую сразу использовать второй режим, как наиболее удобный и быстрый. Тем более, что функционал абсолютно тот же.
Но для старта погоняем gnuplot в командном режиме. Запускаем gnuplot из командной строки, либо тем способом который доступен для вашей ОС. Обучение можно начать даже не с чтения этой статьи, а прямо с самой первой команды help. Она выведет шикарную справку и дальше по ней можно идти. Но мы пробежимся по основным моментам.
График строится командой plot. В качестве параметров команды можно задать функцию, либо имя файла данных. А так же какой столбец данных использовать и чем соединять точки, как их обозначать и т.д. Давайте проиллюстрирую.
gnuplot> plot sin(x)
После выполнения команды у нас откроется окно, где будет график синуса, с подписями по умолчанию. Давайте улучшим этот график, заодно разберёмся с дополнительными опциями.
Подпишем оси.
Задает подпись для оси абсцисс.
Задает подпись для оси ординат.
Добавим сетку, чтобы было видно где построен график.
Мне не нравится, что по оси ординат синусоида упирается в конец графика, поэтому зададим лимиты значений, которыми будет ограничен график.
Таким образом график у нас будет отрисован от минимального значения -1,1 до максимального 1,1.
Точно так же, устанавливаю диапазон для оси абсцисс, чтобы был виден только один период синусоиды.
Надо бы добавить заголовок к нашему графику, чтобы всё по феншую было.
Обратите внимание, что можно задавать шрифты и их размер. Какие шрифты можно использовать, смотрите в документации на gnuplot.
Ну и наконец, давайте кроме синуса на графике ещё нарисуем и косинус, да ещё и зададим тип линии и её цвет. А так же добавим легенды, что же мы чертим.
Здесь мы рисуем два графика на одном холсте, красным и зелёным цветом. Вообще вариантов линий (пунктир, штрих, сплошная), тощин линий, цветов великое множество. Как и типов точек. Моя цель лишь продемонстрировать спектр возможностей. Сведём все команды в одну кучку и выполним их последовательно. Чтобы сбросить предыдущие настройки, введём reset.
В результате получаем вот такую красоту.
График уже не стыдно публиковать в научном журнале.
Если вы повторяли честно всё это за мной, то могли заметить, что вручную каждый раз вводить это, даже копируя, как-то не комильфо. Но это же готовый скрипт? Так давайте же его и сделаем!
Выходим из командного режима, командой exit и создаём файл:
Делаем его исполняемым и запускаем. Ну не забываем как выйти из vim.
В результате получаем такое же окно с графиками. Если в заголовке не добавить “-persist”, то окно автоматически закроется после выполнения скрипта.
Но окно создавать часто не очень нужно, плюс не всегда удобно им пользоваться, да и вы можете работать в операционной системе без GUI. Значительно чаще нужно получать графические файлы. Лично я предпочитаю векторный формат postscript, так как при большом количестве точек можно приближать различные участки графика, без потери качества. И так же просмотрщик в линуксе автоматически обновляет окно с графиком, при изменении файла postscript, что тоже весьма удобно.
Для того, чтобы вывести данные в файл, а не на экран, надо переназначить терминал.
Как не трудно догадаться, указываем тип файла, его разрешение, затем указываем имя файла. Добавляем эти две строки в начало нашего скрипта, и получаем эту картинку в текущей папке.
Для того, чтобы сохранять в postscript нужно использовать следующие команды:
Реальные данные
Синусы, косинусы рисовать конечно прикольно, но всё же реальные данные рисовать намного интереснее! Напомню недавнюю задачу, о которой писал статью — вывод графиков скорости интернета за длительные промежутки времени. Формат данных там был следующий.
Видно, что разделителем у нас служит точка с запятой, нам нужно вывести скорость загрузки, скорость выгрузки в зависимости от времени. При этом, если обратить внимание дата и время находятся в разных столбцах. Сейчас расскажу, как я это обошёл. Сразу приведу скрипт, по которому строился график.
В начале файла мы задаём выходной файл postscript (либо png, если будет нужен).
set datafile separator ';' — мы задаём символ разделитель. По умолчанию столбцы разделяет пробел, но csv-файл предлагает множество вариантов разделителей, и нужно уметь использовать все.
set grid xtics ytics — устанавливаем сетку (можно сетку установить только по одной оси).
set xdata time — это важный момент, мы говорим о том, что по оси X формат данных будет время.
set timefmt '%d.%m.%Y;%H:%M:%S' — задаём формат данных времени. Обратите внимание, что в формат времени попал символ разделения столбцов(";"), таким образом мы обработаем две колонки как одну.
Задаём подписи осей и графика. После чего строим график.
plot «Rostelecom.csv» using 3:6 with lines title «Download», '' using 3:7 with lines title «Upload» — на одном графике мы строим как скорость скачивания, так и скорость отдачи. Using 3:6 — это номер столбца в нашем файле исходных данных, что от чего строим (X:Y).
Далее так же точно строим график для пинга. Результирующий график будет выглядеть следующим образом.
Это скриншот с postscript. Прямые линии в графике связанны с тем, что там пропуски данных. Вот вполне реальный пример построения графика.
Вы хотите 3D? Их есть у меня!
Долго думал, какой же пример трёхмерного графика привести, и не придумал ничего лучше, чем визуализировать картинку. Ведь по сути картинка — это трёхмерный график, где яркость пикселя — это координата по z. Поэтому давайте немного похулиганим.
Возьмём самое знаменитое фото Эйнштейна.
И сделаем из него график. Для этого конвертнём его в формат pgm ASCII и выкинем все пробелы, заменив переводом строки, такой простой командой.
Кто не понял, что здесь происходит, поясняю: мы конвертируем с помощью imagemagic картинку в формат pgm, а потом с помощью tr заменяем перевод каретки с переносом на новую строку на пробел, а потом все пробелы на перенос каретки и сохраняем это всё в outfile.pgm. Кому это сложно, могут открыть файл в gimp и экспортировать его как pgm-ASCII.
После чего открываем получившийся файл нашим любимым редактором vim и удаляем у него заголовок. В моём случае это первые три строки. Из заголовка не забываем узнать разрешение файла, в данном случае было 325х408 пикселей. Всё, мы получили текстовый файл координат Z! Теперь наша задача добавить координаты X и Y, для этого прогоним всё это через питоновский скрипт.
Сохраняем это как convert.py и запускаем:
Всё, у нас теперь res.txt содержит координаты Эйнштейна… Хм, ну точнее сказать координаты его изображения. Ну в общем, вы поняли :).
…
406 317 60
406 318 54
406 319 30
406 320 41
406 321 84
406 322 101
406 323 112
406 324 119
407 0 128
407 1 53
407 2 89
407 3 95
407 4 87
.
Пример файла.
Скрипт для построения этой красоты выглядит следующим образом.
Прежде чем мы пойдём разбирать скрипт, если вы будете это повторять, то настоятельно рекомендую выполнить строки скрипта в командном режиме, чтобы можно было мышкой вращать график (разумеется не указывая set terminal). Это очень круто!
Вначале мы устанавливаем тип выходных данных, а так же границы данных. Границы выставлены по размерам картинки, и плюс от низа я отступил по оси Z на 256 символов, чтобы была видна проекция картинки. Дальше мы озаглавливаем график, подписываем оси. Командой unset key — я отключаю легенды (она не нужна на графике). А вот далее идёт настоящая магия!
set palette gray — мы задаём палитру. Если оставить по умолчанию, то график будет цветным, как на тепловизоре. Чем выше, тем более жёлтое пятно, чем ниже тем темнее красный цвет.
set hidden3d — как бы натягивает изогнутую поверхность (удаляет линии), таким образом формируется красивая выпуклая повехность.
set pm3d at bs — включаем стиль рисования трёхмерный данных, который рисует данные с координатой сеткой и цветом. Подробнее читайте в документации, более детальное описание выходит за рамки статьи.
set dgrid3d 100,100 qnorm 2 — устанавливаем размер ячеек сетки 100х100, и сглаживание между ячейками. Значение 100х100 и так очень большое, и программа сильно тормозит. qnorm 2 — это сглаживание (интерполяция данных между ячейками).
splot "./res.txt" with l — рисуем получившийся график. «With l» — означает рисовать график линиями. Это мелкий хак, потому что точки видны на графике (можно задать маленькие точки).
После запуска ждём некоторое время, и получаем полигональный «барельеф». Попробуйте поэкспериментировать с настройками, чтобы получить другие варианты визуализации.
Изображение в командном режиме, после того как повращали.
Тут вспоминается сразу анекдот.
Как найти площадь Ленина?
Только необразованный человек ответит на этот вопрос, что нужно высоту Ленина умножить на ширину Ленина.
Образованный человек знает, что нужно взять интеграл по поверхности.
Применение gnuplot в своих программах
Пример взят со stackoverflow с моими небольшими доработками.
Код генерирует текстовый файл и постоянно вызывает перестроение графика. Код приложу под спойлер, чтобы не рвать статью.
Код работает очень просто, мы открываем pipe:
Это аналогично вертикальной черте в bash, когда мы за одной командой пишем другую, только внутри программы. Пишем данные в файл lorenzgplot.dat. Один раз вызываем в gnuplot команду splot:
И далее при добавлении новой точки, мы перестраиваем график.
В результате получаем очень красивое медленное построение Аттрактора Лоренца. Ниже видео, снятое почти десять лет назад, на старенький фотоаппарат, поэтому не ругайтесь сильно. Важно в видео другое, что всё это прекрасно работает на таком старом железе, как Nokia N800. Смотреть это желательно без звука.
Важно понимать, что команда replot очень хорошо кушает память и процессорное время, то есть, вот такое построение графика некисло так подтормаживает систему. Так что, при всей любви к gnuplot — это не лучший способ его использования. Ещё одна проблема, что данное окно не удастся ни закрыть, ни передвинуть.
Заключение
Напоследок хочу показать видео, в котором я собрал сотни графиков случайного логарифмического распределения регистраций радиоактивных частиц, реальные данные одного исследования. Видео можно и нужно смотреть со звуком.
Для старта так же могу порекомендовать Краткое введение в gnuplot (рус). Искренне удивлён, что такая замечательная программа не изучается во всех технических ВУЗах наравне с Latex. У нас зачем-то учили MS Exel и Word.
Изучить gnuplot не сложно, я потратил буквально несколько дней в попытке разобраться с нуля. Но с данной статьёй, верю, что у вас всё будет быстрее. Теперь я забыл о всяких Exel/Calc в качестве графопостроителей, использую только гнуплот. Тем более, что я даже не знаю и десятой доли всех возможностей построения графиков.
Хочу отметить, что существуют множество других графопостроителей, не хуже, чем гнуплот, тем более, что он достаточно старый. Но для меня gnuplot оказался наиболее простым и исчерпывающим. Плюс он самый распространённый графопостроитель, и в сети громадное количество примеров его использования. Спасибо что дочитали!
Диаграммы - отличное средство для взаимосвязи с данными и их обработки; они помогают в передаче отношений и абстрактной информации и позволяют нам визуализировать концепции.
Инструменты построения диаграмм используются для всего: от базовых диаграмм рабочих процессов до сложных сетевых диаграмм, организационных диаграмм, BPMN (модель и нотация бизнес-процессов), диаграмм UML и многого другого.
Вы ищете бесплатное программное обеспечение для создания блок-схем и диаграмм с открытым исходным кодом для создания различных видов диаграмм, блок-схем, иллюстраций, карт, веб-графики и многого другого в Linux? В этой статье рассматривается 10 лучших программ для построения диаграмм и диаграмм для Linux.
Draw - это многофункциональный, расширяемый, простой в использовании, отличный инструмент для создания мощных и интуитивно понятных блок-схем, организационных диаграмм, сетевых диаграмм и многих других типов графики. Он также используется для работы с изображениями, и он может создавать что угодно, от быстрого наброска до сложных фигур.
Draw является частью LibreOffice, мощного бесплатного офисного пакета, который работает в Linux, macOS и Windows. Он использует формат открытого документа для приложений Office (ODF) (расширение для графики .odg).
Среди его функций галерея фигур и рисунков, проверка орфографии, режим расстановки переносов и замена цвета. Важно отметить, что он поддерживает импорт, редактирование, экспорт PDF-файлов, импорт из нескольких форматов файлов и экспорт в GIF, JPEG, PNG, SVG, WMF и другие форматы.
Кроме того, он поддерживает выполнение макросов с помощью Java, различные расширения, а настройки его фильтров можно настроить с помощью XML.
OpenOffice Draw - бесплатное приложение для рисования бизнес-процессов и диаграмм. Это один из инструментов, включенных в офисный пакет Apache OpenOffice. Подобный LibreOffice Draw по функциональности, он поддерживает различные типы диаграмм, такие как блок-схемы, организационные диаграммы, сетевые диаграммы и т. д.
Он также поддерживает различные стили и форматирование, позволяет импортировать и экспортировать графику из всех распространенных форматов (включая BMP, GIF, JPEG, PNG, TIFF и WMF). Также доступна поддержка создания версий вашей работы в формате flash (.swf).
yEd Graph Editor - бесплатное, мощное и кросс-платформенное приложение, используемое для быстрого и эффективного создания диаграмм. Оно работает на всех основных платформах, таких как Unix/Linux, Windows и Mac OS X. yEd поддерживает широкий спектр типов диаграмм, что позволяет создавать диаграммы вручную или импортировать внешние данные для обработки или анализа.
Он поддерживает организационные диаграммы, интеллектуальные карты, диаграммы дорожек, ERD и многое другое. Его ключевые функции включают интуитивно понятный пользовательский интерфейс, поддержку импорта внешних данных из электронной таблицы Excel (.xls) или XML, автоматическое расположение элементов диаграммы и экспорт растровой и векторной графики в форматах PNG, JPG, SVG, PDF и SWF.
Inkscape - это бесплатная кросс-платформенная программа для векторной графики с открытым исходным кодом и простым интерфейсом, работающая в GNU/Linux, Windows и Mac OS X. Она многоязычная и легко настраивается. Вы можете использовать ее для создания широкого спектра графических изображений, таких как блок-схемы, иллюстрации, значки, логотипы, диаграммы, карты и веб-графика.
Она обеспечивает создание объектов и управление ими, заливку и обводку, операции с текстом, рендеринг и многое другое. В качестве собственного формата она использует открытый стандарт W3C SVG (масштабируемая векторная графика). С Inkscape вы можете импортировать и экспортировать файлы в различные форматы, включая SVG, AI, EPS, PDF, PS и PNG. Вы также можете расширить ее встроенную функциональность с помощью надстроек.
Dia - это бесплатная популярная кросс-платформенная программа для рисования с открытым исходным кодом для Linux. Она также работает в Windows и Mac OS X. Она используется для создания более 30 различных типов диаграмм, включая блок-схемы, схемы сети, модели баз данных. Dia содержит более 1000 предопределенных объектов и символов и поддерживает множество форматов импорта и экспорта. Для программистов, она написана на Python.
Calligra Flow - это простой в использовании инструмент для создания диаграмм и блок-схем. Он включен в Calligra Office Suite и хорошо интегрирован с другими приложениями Calligra. Он поддерживает различные типы диаграмм, такие как сетевые диаграммы, организационные диаграммы, блок-схемы и многое другое.
Graphviz (Graph Visualization Software) - это программа для рисования графиков с открытым исходным кодом. Он поставляется с набором программ для визуализации графов, заданных в скриптах языка DOT. Кроме того, он имеет веб-интерфейс и интерактивный графический интерфейс, а также вспомогательные инструменты, библиотеки и языковые привязки.
Graphviz используется для создания диаграмм вручную или из внешних источников данных в нескольких форматах, включая изображения и SVG для веб-страниц, а также Postscript для включения в PDF. Вы также можете отображать вывод в интерактивном браузере графиков.
Pencil - это бесплатный и простой в использовании инструмент с открытым исходным кодом для создания прототипов графического интерфейса пользователя (GUI), который используется для создания макетов в популярных средах рабочего стола. Он поставляется с многочисленной встроенной коллекцией фигур (включая формы общего назначения, элементы блок-схем, формы пользовательского интерфейса рабочего стола/веб-интерфейса, формы графического интерфейса пользователя Android и iOS) для рисования различных типов пользовательского интерфейса, от настольных до мобильных платформ.
PlantUML - это инструмент с открытым исходным кодом для создания диаграмм UML с использованием простого языка текстового описания. Он используется для моделирования, документации и UML. Он позволяет создавать красивые, профессионально выглядящие диаграммы и технические проекты. PlantUML имеет интуитивно понятный синтаксис и основан на командной строке, и может использоваться в комбинации в GNU Emacs org-mode для написания технической документации.
Он поддерживает диаграммы UML, такие как диаграмма классов, диаграмма последовательности, диаграмма сотрудничества, диаграмма вариантов использования, диаграмма состояний, диаграмма действий, диаграмма компонентов, диаграмма развертывания и диаграмма отношений сущностей.
Вы также можете использовать его для создания диаграмм, отличных от UML, таких как графический интерфейс Wireframe, диаграмма архива, язык спецификаций и описания (SDL), диаграмма ditaa, диаграмма Ганта и многие другие. Кроме того, вы можете экспортировать вывод в формат PNG, SVG или LaTeX.
И последняя, но не менее важная программа: у нас есть Umbrello UML Modeller, бесплатный кросс-платформенный инструмент построения диаграмм Unified Modeling Language (UML) с открытым исходным кодом, основанный на KDE, который работает в системах Linux, Windows и Mac OS X. Он поддержит вас в создании схем для проектирования и системной документации.
Umbrello UML Modeller 2.11 поддерживает различные типы диаграмм, такие как диаграмма классов, диаграмма последовательности, диаграмма сотрудничества, диаграмма вариантов использования, диаграмма состояний, диаграмма действий, диаграмма компонентов, диаграмма развертывания и ERD.
Читайте также: