DataGraph. Плагин для OutWiker для построения графиков
Выложил новый плагин для OutWiker — DataGraph, предназначенный для построения графиков на викистранице.
Плагин для построения графиков я собирался написать давно, чуть ли не с самого начала работы над OutWiker. Главная задумка была, чтобы график можно было бы строить по текстовым данным, которые могли бы быть введены непосредственно в тексте страницы или в прикрепленном файле. Причем строить хотелось бы как можно проще, вводя минимальное количество параметров, а если не устраивает внешний вид по умолчанию, то с помощью параметров он должен гибко настраиваться.
Обычно подобные программы имеют несколько десятков параметров. Наверное, постепенно DataGraph получит большой количество настроек, позволяющих менять каждую черточку на графике, но пока я ограничился возможностями, которые мне показались наиболее важными.
Подробное описание всех возможных параметров команды плагина с примерами их использования приводится в справке, которая прилагается к плагину, здесь я перечислю лишь основные возможности плагина.
Данные, с которыми работает плагин, должны быть представлены в текстовом виде (это могут быть целые числа, числа с плавающей точкой или календарные данные) наподобие:
1 10 20 2 11 22 3 13 24 4 15 25 5 16 26 6 18 27 7 20 30 8 20 30 9 20 30 10 20 30
или
01.01.2015 10 20 01.02.2015 11 22 05.03.2015 13 24 10.04.2015 15 25 03.05.2015 16 26 01.06.2015 18 27 10.08.2015 20 30 22.10.2015 20 30 11.11.2015 20 30 31.12.2015 20 30
Данные могут быть вставлены непосредственно в текст страницы или читаться из прикрепленного текстового файла.
Для построения графика достаточно команды вида:
(:plot:) 1 10 2 11 3 13 4 12 5 16 6 18 7 20 8 17 9 20 10 21 (:plotend:)
Результат будет выглядеть следующим образом:
На графике может быть несколько линий, для каждой из них можно настраивать цвет и стиль (сплошная, штриховая, пунктирная, штрихпунктирная и т.д.).
На графиках можно включить легенду и подсказки, при наведении курсора на точки кривых. Интервал по осям и шаг рисок (сетки) настраивается.
Теперь о технической стороне плагина. Сначала я думал сделать плагина на основе gnuplot, но посмотрев примеры (да и сам когда-то с ним игрался), понял, что графики у него по умолчанию выглядят страшненько. Возможно, их можно довести до ума, но заниматься этим не хотелось. Тогда начал искать альтернативные способы построения графиков, уже с использованием JavaScript.
Перепробовав, около десятка библиотек, остановился на Highcharts. На данный момент она меня всем устраивает, но на всякий случай при написании плагина оставил возможность в будущем переключать движок рендеринга графиков, может быть в когда-нибудь добавлю и gnuplot, который любят с сообществе Open Source (альтернативы ему для создания картинок я не знаю).
Как я уже говорил, пока DataGraph содержит только наиболее необходимые на мой взгляд параметры. Я уже примерно представляю, какие возможности буду добавлять в следующей версии, но я все равно жду от вас отзывов и пожеланий того, чего не хватает именно вам в этом плагине.
PS. И спасибо тем, кто воспользовался оранжевой кнопкой Donate для поддержки проекта, к сожалению, не знаю, кого благодарить поименно.
PPS. И еще есть (не)большая просьба к тем у кого есть время и кто хорошо знает английский. К плагину прилагается справка, в том числе и на английском языке (в папке «help/datagraph_eng»), но поскольку грамматика английского у меня сильно хромает (мягко говоря), то я был бы благодарен, если бы кто-нибудь поправил то, что там написано.
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
Leave a comment