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

Обновлено: 04.07.2024

Gnuplot является программой с интерфейсом командной строки. Благодаря этой особенности данная программа используется для построения графиков совместно с некоторыми другими приложениями, такими, как octave. Следовательно, вы могли использовать gnuplot, даже не подозревая об этом. Вы можете использовать gnuplot несколькими способами. Программа может не только принимать данные для построения графика, но и строить графики для заданных функций. Gnuplot может осуществлять вывод как на экран (выводя статический или интерактивный график), так и в файл одного из множества поддерживаемых форматов. Дополнительно существует множество функций для настройки отображения графиков, изменения обозначений графиков и осей координат, а также изменения других параметров.

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

Как только пакет gnuplot установлен, вы можете начать работу с ним, выполнив команду gnuplot . При вызове программы таким способом, для ввода команд будет запущена интерактивная сессия. Давайте начнем работу с попытки построения графика для простейшей функции. У вас должна быть возможность построения графиков для всех функций, используемых при работе с языками программирования C, FORTRAN и BASIC. Эти математические выражения могут формироваться с использованием таких встроенных функций, как abs(x) , cos(x) или Bessel . При работе с этими функциями вы можете использовать целые, действительные и комплексные типы аргументов.

При использовании gnuplot для построения графика вы можете либо сохранить все команды в одном файле и использовать его в качестве сценария для gnuplot, либо запустить gnuplot в интерактивном режиме и вводить эти команды с помощью командного окружения поочередно. Для использования сценария gnuplot вам необходимо просто добавить имя файла к команде при запуске программы - например: При использовании gnuplot в интерактивном режиме вы можете прервать сессию с помощью команды quit . Двумя основными командами являются plot и splot . Команда plot позволяет строить двухмерные графики, а splot - трехмерные. Для построения графика простой функции вы можете использовать команду: Эта команда позволяет построить график в новом окне (Рисунок 1). Если вы хотите добавить обозначение графика, вы можете использовать следующий параметр:

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


Рисунок 1: При использовании команд для построения графиков открываются окна с выводом результатов

Простой график для функции sin(x)/x


Рисунок 2: Простой график для функции sin(x)/x

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

Вы можете построить графики нескольких функций в одной системе координат


Рисунок 3: Вы можете построить графики нескольких функций в одной системе координат

Для построения трехмерного графика, просто передайте выражение с двумя независимыми переменными команде splot так, как показано ниже:

Gnuplot может работать даже с трехмерными графиками


Рисунок 4: Gnuplot может работать даже с трехмерными графиками

Если вы столкнетесь с трудностями, в первую очередь следует использовать встроенную функцию помощи. Для того, чтобы узнать подробности использования команды plot , выполните следующую команду:

В результате будет выведена страница из документации gnuplot, относящаяся к команде plot .

Если вам необходимо построить график изменения давления, вы можете использовать следующую команду: Если же вам необходимо построить график, используя данные из всех трех столбцов, вы можете использовать команду:

Существуют два метода изменения представления графиков, создаваемых gnuplot. Первый метод заключается в использовании дополнительных аргументов команд plot и splot . В этом случае вы можете задавать значения таких параметров, как заголовок графика, обозначение осей или стиль графика. Доступными стилями графиков являются: линии (lines), точки (points), линии с точками (linespoints), импульсы (impulses), штрихи (dots), шаги (steps, fsteps, histeps), значения отклонений (errorbars, xerrorbars, yerrorbars, xyerrorbars). Для работы с одним из стилей вы можете добавить параметр, используя ключевое слово with . Таким образом, если вы хотите отобразить на графике и линии и точки, вы должны добавить выражение with linespoints к вашей команде plot . Вы также можете использовать краткую запись этих параметров. Вместо with может использоваться w . Вместо параметра title может использоваться t . Вместо приведенного выше параметра using вы также можете использовать u .

Вторым методом изменения представления графиков является использование команды set . С помощью этой команды вы можете устанавливать значения некоторых параметров графиков. Используя второй метод, вы можете изменять значения параметров всех типов, таких, как title, xlabel, yrange, xtics или key, а также многих других. Например, вы можете установить диапазон значений по оси у с помощью команды: После изменения различных параметров графиков, вам необходимо выполнить повторное построение графика, над которым вы работаете. Вы можете сделать это с помощью команды: Многие параметры, изменяющиеся с помощью команды set , также используют форму краткой записи. Например, краткая запись приведенной выше команды будет выглядеть следующим образом: Утилита gnuplot позволяет не только строить графики на основе введенных данных или функций, но также способна проводить анализ используемых данных. Например, с помощью gnuplot вы можете осуществить подбор кривых для заданных данных. Для этого следует задать функцию вместе с начальными значениями переменных, после чего использовать команду fit . Пример будет выглядеть следующим образом:

Данные команды позволяют осуществить с помощью gnuplot подбор кривых для данных из столбцов 1 и 2 файла data_file.dat с использованием функции, заданной с помощью выражения f1(x) .

Когда программное окружение для проведения исследований в определенной области подготовлено, вы можете сохранить все сделанные вами настройки с помощью команды save . Данная команда на самом деле сохраняет все использованные вами команды gnuplot в текстовый файл. Данный текстовый файл может быть загружен после открытия новой сессии gnuplot с помощью команды load . Она позволяет получить из файла все сохраненные команды и выполнить их в рамках новой сессии.

Вы всегда можете увидеть список установленных вами параметров, использовав команду show . Эта команда выводит значения параметров, установленные в ходе текущей сессии. Для вывода списка всех параметров следует использовать команду show all . Иногда после изменения параметров программа начинает работать не так, как вы ожидаете. Следует помнить о том, что вы всегда можете установить значение по умолчанию для любого параметра, значение которого было изменено с помощью команды set , просто использовав команду reset . Эта команда изменяет значения параметров на их значения по умолчанию в рамках сессии.

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

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


Графики простые и классные. Наиболее ценное преимущество 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 оказался наиболее простым и исчерпывающим. Плюс он самый распространённый графопостроитель, и в сети громадное количество примеров его использования. Спасибо что дочитали!

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

Где скачать Gnuplot?

Linux

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

Windows

Для виндовс на странице скачивания доступные скомпилированые сборки cygwin и MinGW . Должны в принципе работать они двое, лучше может использовать вторую, MinGW . Для macbook ссылки можно найти под заголовком 3rd party OS/X binaries.

Запуск Gnuplot

В консоли запускаем Gnuplot командой

И увидим приветствие программы

запуск Gnuplot

Вывод Gnuplot при запуске

Это интерактивный режим работы — когда мы пишем команды и Gnuplot их сразу выполняет.

Построить график функции

И получим такой график

График функции Sin(x) построенный в Gnuplot

Разберем подробнее команду

plot — команда для построения или отрисовки графика, sin(x) — функция для отрисовки, синус. По умолчанию x играет роль переменной.

Так как мы еще не настраивали вид графиков, то по умолчанию ось OX или x у нас в интервале от -10 до 10. Ось OY или y подстраивается автоматически от минимума до максимума, за исключением особых точек на графике, например — бесконечность.

Если есть особые точки на графике как бесконечность

Построить график из файла данных

Что бы построить график из файла данных "data.txt" воспользуемся командой

И получим такой рисунок

График построенный из файла данных в Gnuplot

plot — команда построить график "data.txt" — файл данных, пример файла здесь, подробнее о том какого он должен быть формата и чего там не должно быть будет изложено в другой статье.

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

Можно также указать полное имя от корневой директории "/" , например "/home/black/програмирование/Сайт/dev.asifmoda.com/текста/скрипты/data.txt" . Так же не забывайте что имя файла нужно вводить в кавычках, в Ubuntu 16 работают как одинарные, так и двойные кавычки.

u — сокращение от using , то есть использовать. В файле находится две колонки цифр разделенные пробелами, 1 означает для x использовать первую колонку, далее двоеточие, и 2 — использовать вторую колонку для y . Если указано 0, то используется порядок цифр или другими словами номер строки начиная с нуля. Разумеется, можно в качестве x использовать разные колонки цифр. w — сокращение от with , и вместе с l — сокращение от line , линия означает построить график линиями.

UDAV -- программа построения графиков и изображений на основе скриптового языка MathGL. Поддерживается широкий спектр графиков и функций редактирования данных. Оконный интерфейс (на основе FLTK) позволяет вращать графики мышкой, приближать область изображения, включать выключать прозрачность и освещение, смотреть на графики с разных углов зрения (при разных параметрах построения).

Версия более менее стабильная (сам использую для рисования графиков в статьи и подбора параметров изображения). Однако это все таки бета-версия.

Замечу, что добавление новых возможностей потребовало обновить библиотеку MathGL до версии 1.4.2.


[offtop] Алексей, проверьте почту, пожалуйста! [/offtop]

Выглядит очень интересно. Хочу попробовать для визуализации потока данных т.к. Gnuplot загибается уже на 5 тыс. точках. Но вот распаковать не могу:

tar xzvf mathgl-1.4.2.tar.gz

tar: Неожиданный конец файла в архиве tar: Неожиданный конец файла в архиве tar: Неисправимая ошибка: завершение работы

tar xvvf mathgl-1.4.2.tar.gz


скриншотов мало. Как он поверхности из двухмерных матриц рисует?

>Но вот распаковать не могу: >tar xzvf mathgl-1.4.2.tar.gz >tar: Неожиданный конец файла в архиве tar Может нужно tar xvjf ? Я точно не помню, под рукой нечем проверить :)


и-и-и-и. ёмаё, и у меня тоже самое


Подтверждаю - архивчик битый (

Никто ниасилил sourceforge? Щелкаем ЛЕВОЙ кнопкой и сохраняем.


Только я прочитал это как UDAF ?

> Подтверждаю - архивчик битый ( > aix27249 (*) (26.11.2007 22:03:26)

Да, и вправду битый :-(


>Никто ниасилил sourceforge? Щелкаем ЛЕВОЙ кнопкой и сохраняем.

05:55:38 (525.37 KB/s) - `mathgl-1.4.2.tar.gz' сохранён [1097728/1097728]

$ tar zxvf mathgl-1.4.2.tar.gz mathgl-1.4.2/ mathgl-1.4.2/ChangeLog mathgl-1.4.2/.svn/ mathgl-1.4.2/.svn/all-wcprops mathgl-1.4.2/.svn/text-base/ mathgl-1.4.2/.svn/text-base/bootstrap.svn-base . (распаковывается куча файлов) . mathgl-1.4.2/mgl/mgl_combi.cpp mathgl-1.4.2/mgl/mgl_zb.cpp mathgl-1.4.2/mgl/data_hdf.cpp mathgl-1.4.2/mgl/mgl_c.h mathgl-1.4.2/mgl/mgl.h

gzip: stdin: unexpected end of file mathgl-1.4.2/mgl/mgl_ab.cpp tar: Неожиданный конец файла в архиве tar: Неожиданный конец файла в архиве tar: Неисправимая ошибка: завершение работы


Я очень сильно извиняюсь, но у меня такая ошибка с SourceForge уже не первый раз (или просто связь у нас такая плохая . обрывается . ). Только, что заменил файл.

Раньше сюда не посмотрел, потому как вчера увидел надпись offtopic и подумал, что новость не пощла, а днем дел было много . Еще раз извиняюсь.

Не думаю, что Вам стоит уж очень сильно извиняться.

Поскольку Вы написали, по первому впечатлению от документации, просто мегавещь.

Попробую использовать в своих экспериментах :)

А связка с питоном не предвидиться?

> А связка с питоном не предвидится?

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

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

Что есть график — ?

Во-первых, захотелось чего-либо более легкого и обозримого. Количество кода пользователя для рисования графика или поверхности в MathGL заметно меньше. А в скриптах еще меньше :).

Во-вторых, все параметры графиков (поверхностей, текста) задаются строковыми переменными -- более удобно для пользователя. Особенно, это касается пользователей Matlab, Scilab, Octave.

В-третьих, рисование нескольких полупрозрачных поверхностей у меня сделано аккуратнее (на мой взгляд :) ) и рисуются они быстрее.

В-четвертых, MathGL и UDAV ориентированы на создание научной графики (для статей и презентаций -- то что мне не хватало под Линукс) и в этом плане более удобны. Хотя их возможности естественно больше.

Наконец, есть С-интерфейс. Хотя сам его почти не использую :(. Последнее время вообще переключился на скрипты или на сгенерированную на их основе программу (для множества одинаковых графиков).

Хотя это все скорее дело вкуса. Кроме того, бесплатной библиотеки такого уровня как MathGL наверное и нет кроме VTK. А выбор иметь всегда приятно :).

Я вообще не могу поставить mathgl. Он говорит install OpenGL library.У меня уже стоит последняя версия mesa, подскажите как поставить. Система: лаптоп IRU Fedora 7 со всеми обновлениями.


>В-четвертых, MathGL и UDAV ориентированы на создание научной графики (для статей и презентаций -- то что мне не хватало под Линукс) и в этом плане более удобны. Хотя их возможности естественно больше.

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

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

А какие собственно проблемы. Указываете axis x1 y1 x2 y2 для размера графика или [xyzc]range dat для автоопределения размеров. Можно использовать subplot или inplot для позиционирования на рисунке. Для обрезания белых полей можно использовать zoom x1 y1 x2 y2 (здесь эти координаты нормированы на 1, например, zoom 0.1 0.1 0.9 0.9 обрезает по 10% рисунка с каждой стороны) и т.д.

> Я вообще не могу поставить mathgl. Он говорит install OpenGL library.У меня уже стоит последняя версия mesa, подскажите как поставить. Система: лаптоп IRU Fedora 7 со всеми обновлениями.

Читайте также: