Графики в какой программе

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

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

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

Графические возможности STATISTICA

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

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

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

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

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

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

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

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

Как в excel построить график

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

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

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

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

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

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

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

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

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

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

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

Внешний вид окна 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 — здесь.

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Источник: jenyay.net

Лучшие инструменты для создания графиков и диаграмм

Сокращенный перевод статьи «19 Online Tools for Creating Charts».

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

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

В этой статье вы найдете список отличных библиотек для создания графиков. (Ранее мы уже публиковали статьи со списками популярных библиотек для визуализации данных (см. здесь и здесь). Чтобы не повторяться, в этой статье мы оставили только те, о которых еще не писали. — Прим. ред).

Chartist-js

  • Звезд на GitHub: 11660
  • Лицензия: MIT
  • Цена: бесплатно
  • Основные зависимости: не имеет зависимостей
  • Сайт: http://gionkunz.github.io/chartist-js/

Chartist это очень современная библиотека на основе SVG. Ее самое большое преимущество — SVG-анимации в графиках.

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

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

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

Chartist предлагает обширную документацию, включающую подробные инструкции по установке библиотеки. Установить библиотеку можно при помощи Bower, NPM, jsDelivr ну и, конечно, можно просто скачать исходный код из репозитория.

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

C3.js

  • Звезд на GitHub: 8445
  • Лицензия: Open-source
  • Цена: бесплатно
  • Основные зависимости: D3.js
  • Сайт: https://c3js.org/

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

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

Plotly

  • Звезд на GitHub: 10520
  • Лицензия: Open-source
  • Цена: бесплатно, кроме корпоративного использования
  • Основные зависимости: D3.js, Stack.gl
  • Сайт: https://plot.ly/

Plotly — одна из самых широко применяемых библиотек. Это богатая библиотека с выдающейся документацией, включающей руководство по каждому типу графиков. Создана эта библиотека на базе D3.js и stack.gl.

Всего Plotly.js поддерживает 20 видов графиков, включая SVG-карты, 3D-диаграммы и статистические графики. Все они выглядят очень профессионально. Для создания графика нужно только загрузить вашу информацию и кастомизировать макет, линии координат, примечания и легенду.

NVD3

  • Звезд на GitHub: 6910
  • Лицензия: Apache 2.0
  • Цена: бесплатно, кроме корпоративного использования
  • Основные зависимости: D3.js
  • Сайт: http://nvd3.org/

NVD3 также входит в список самых популярных библиотек. Как и многие другие, она построена на базе D3.js, т. е., имеет хорошую техническую основу.

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

По сравнению с другими библиотеками в этом списке NVD3 кажется маленькой. Она предлагает не так много графиков, хотя все основные виды присутствуют.

DyGraphs

  • Звезд на GitHub: 2646
  • Лицензия: Open-source
  • Цена: бесплатно для всех пользователей
  • Основные зависимости: –
  • Сайт: http://dygraphs.com/

DyGraphs это быстрая и гибкая JavaScript-библиотека для создания графиков. Имеет открытый исходный код. Библиотека очень настраиваемая, работает во всех основных браузерах (включая IE8) и имеет активное сообщество.

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

DyGraphs хорошо подходит для больших и сложных наборов данных.

Sigma charts

  • Звезд на GitHub: 86330
  • Лицензия: Open-source
  • Цена: бесплатно для всех пользователей
  • Основные зависимости: не имеет зависимостей
  • Сайт: http://sigmajs.org

Sigma.js создана на Canvas и WebGL. Имеет публичный API, охватывающий широкий спектр плагинов, предоставленных сообществом GitHub. Sigma полностью отзывчива и отличается сенсорной интерактивностью. Это позволяет разработчикам напрямую добавлять в сценарии собственные функции и отображать узлы и ребра в точном соответствии со спецификациями.

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

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

Читайте также:
Все команды программы выполнить

Morris

  • Звезд на GitHub: 6930
  • Лицензия: Open-source
  • Цена: бесплатно для всех пользователей
  • Основные зависимости: jQuery
  • Сайт: http://morrisjs.github.io/morris.js/

Библиотека графиков Morris.js тоже довольно популярна. Она применяется во многих шаблонах администрирования, как в бесплатных, так и в премиальных. Графики, используемые в Morris, фокусируются на простоте и эффективности.

Всего в этой библиотеке 4 вида диаграмм: линейные, столбчатые, площадные и круговые (пончиковые).

Cytoscape

  • Звезд на GitHub: 5857
  • Лицензия: Open-source
  • Цена: бесплатно для всех пользователей
  • Основные зависимости: не имеет зависимостей
  • Сайт: http://js.cytoscape.org/

Cytoscape.js это библиотека теории графов, написанная на JS. Ее можно использовать для анализа и визуализации графиков.

Cytoscape.js позволяет с легкостью отображать красивые и интерактивные графики, а также манипулировать ними.

В Cytoscape.js также есть анализ данных. Библиотека имеет много полезных функций, связанных с теорией графов. Вы можете использовать ее на Node.js для анализа графов в терминале или на веб-сервере.

Rickshaw от Shutterstock

  • Звезд на GitHub: 6360
  • Лицензия: MIT
  • Цена: бесплатно для всех пользователей
  • Основные зависимости: D3.js, jQuery, jsdom
  • Сайт: https://tech.shutterstock.com/rickshaw/

Rickshaw это набор инструментов JavaScript для создания интерактивных временных графиков.

В основе этих инструментов лежит d3, так что графики отрисовываются при помощи SVG и стилизуются при помощи CSS. Вы можете все кастомизировать по своему вкусу, применяя уже известные вам подходы.

CanvasJS

  • Звезд на GitHub: –
  • Лицензия: платная. Бесплатные лицензии для студентов и для некоммерческого использования.
  • Цена: от $149 до $4999
  • Основные зависимости: –
  • Сайт: https://canvasjs.com/

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

Все графики обладают интерактивными функциями, такими как всплывающие подсказки, масштабирование, панорамирование, анимация и т. д. CanvasJS можно интегрировать с популярными фреймворками (Angular, React и jQuery), а также с бэкенд-технологиями (PHP, Ruby, Python, ASP.Net, Node.JS, Java).

RAWgraphs

  • Звезд на GitHub: 6124
  • Лицензия: Apache 2.0
  • Цена: бесплатно
  • Основные зависимости: d3.js
  • Сайт: https://rawgraphs.io/

RAWGraphs это открытый веб-инструмент для создания пользовательских векторных визуализаций на базе библиотеки d3.js.

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

Taucharts

  • Звезд на GitHub: 1799
  • Лицензия: Apache 2.0
  • Цена: бесплатно
  • Основные зависимости: d3.js
  • Сайт: https://taucharts.com/

TauCharts это одна из самых гибких JavaScript-библиотек для создания графиков в нашем списке. Она также основана на D3. Эта библиотека позволяет создавать улучшенную визуализацию данных. Предоставляет декларативный интерфейс для быстрого сопоставления полей данных с визуальными свойствами. Архитектура этой библиотеки позволяет разработчику создавать фасеты и расширять поведение графиков при помощи плагинов, пригодных для повторного использования.

Anychart

  • Звезд на GitHub: –
  • Лицензия: платная для коммерческого использования
  • Цена: от $49 до $799, бесплатно для некоммерческого использования
  • Основные зависимости: –
  • Сайт: https://www.anychart.com/

AnyChart это надежная, легковесная и богатая функционалом библиотека графиков с рендерингом в SVG/VML. Она предоставляет разработчику отличную возможность создавать различные графики, помогающие проводить анализ данных и принимать решения на основе данных.

К основным особенностям библиотеки можно отнести:

  • наличие больше 80 видов JS-графиков,
  • много способов задать набор данных (XML, JSON, CSV, JS API, Google Sheets, HTML-таблицы),
  • возможность интеграции с Angular, Qlik, Oracle APEX, React, Elasticsearch, Vue.js, Android, iOS.

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

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

Все упомянутые в нашем списке библиотеки имеют очень хорошую браузерную совместимость.

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

Источник: techrocks.ru

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

NIT for You

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

Advanced Grapher

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

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

Программа содержит встроенный калькулятор (те же функции, что и в FNGraph), утилиты для поиска нулей и экстремумов функции, производных, интегралов, касательных, нормалей и пересечений графиков. Удобно, что в формулах можно опускать знак умножения, например: y = 2x.

В создаваемые графики можно добавлять текстовые метки, легенду, заголовки. При изменении свойств графика поддерживается многоуровневая отмена. Имеется множество настроек вида осей и сетки. График можно распечатать, сохранить как рисунок (bmp или emf) или скопировать в буфер как рисунок.

Wise Calculator

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

Описание некоторых программ для построения графиков
Ресурсы:
  • http://compress.ru/article.aspx?id=10387
  • http://zoomexe.net/ofis/math
  • http://www.hardline.ru/3/37/3689

Источник: nitforyou.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru