Урок по созданию инфографики в среде NODEBOX Сегодня мы познакомимся с замечательным продуктом NodeBox, у которого в отличии от Adobe Illustrator и открыт исходный код () и обладает рядом преимуществ: графику легко связать с базой данных, при этом из

Урок по созданию инфографики в среде NODEBOX
Сегодня мы познакомимся с замечательным продуктом NodeBox, у которого в отличии от Adobe Illustrator и [ Cкачайте файл, чтобы посмотреть ссылку ] открыт исходный код ([ Cкачайте файл, чтобы посмотреть ссылку ]) и обладает рядом преимуществ:
графику легко связать с базой данных, при этом изменяя базу, изменения автоматически коснутся и графики;
можно изменять такие параметры как длина, ширина, площадь, цвет, надписи и другое в зависимости от значений в базе данных;
возможность создания, импорта, экспорта графики в формате *.svg;
программирование при помощи нод. Недеструктивное программирование при помощи операций, каждый из которых представляет собой блок кода;
возможность прямого программирования нод на популярном языке Python.

Скачать NodeBox можно [ Cкачайте файл, чтобы посмотреть ссылку ].
Англоязычное описание всех нод пакета [ Cкачайте файл, чтобы посмотреть ссылку ].

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

Изначально у нас была база данных о суммах договоров украинских олигархах в формате *.csv ([ Cкачайте файл, чтобы посмотреть ссылку ]), фигура толстяка в формате *.svg ([ Cкачайте файл, чтобы посмотреть ссылку ]), созданный при помощи пакета Inkscape, которая распространяется на условиях [ Cкачайте файл, чтобы посмотреть ссылку ] ([ Cкачайте файл, чтобы посмотреть ссылку ]).
Устанавливаем и открываем пакет NodeBox. Создаем первую ноду, что бы поместить силуэт толстого человека, которая будет служить фигурой олигархов. Жмем New Node как на рисунке ниже.



Затем выбираем ноду Import.


В параметрах File указываем путь к файлу fatman.svg.


Последовательно добавляем ноды: text to path, transform, align, datastamp, line, соединяя их простым перетаскиванием мыши из одной выхода ноды во вход другой ноды, как показано на рисунке ниже, при соединении align c datastamp указать параметр «shape», a line c datastamp – «template».



Связываем нашу графику с базой данных: выделяем ноду datastamp и в параметре File выбираем искомый файл базы данных, в нашем случае data2.csv.
Выделяем ноду text to path, которая служит для того, что бы писать текст по направляющей и в параметрах Text прописываем следующий код: stamp("data_value_1", "1"), в графе Size выбираем 6 кегль, в графе Fill выбираем белый цвет.
Разберем выражение: "data_value_1", "1":
"data_value_1" означает, что будут браться данные из базы данных из второго столбца, счет столбцов начинается всегда с 0;
"1" означает, что данные будут численного типа.
В ноде transform, которая служит для того что бы изменять размеры любых примитивов, указываем в параметре Scale X и Scale Y выбираем Toggle Expression и в поле вписываем выражение 200*(math.sqrt(stamp("data_value_1", 1))/math.sqrt(36828) ). Данное выражение означает, что фигура будет иметь величину в 200 раз больше, чем отношения корня численных данных из второго столбца базы данных к корню максимальной величины этих данных, в данном случае 36828, согласно базе данных.
В ноде align, добавленная что бы выровнять фигуры, настраиваем значение параметров следующим образом: Horizontal align –«Right», Vertical align – «Bottom».
В ноде line, которая служит шаблоном для размещения всех фигур, в параметре X укажем значение «-250», в Distance – «520», Points - «9».
На заключительном этапе щелкаем два раза на конечную ноду datastamp, что бы ее верхушка загорелась желтым цветом и получаем следующий результат.



Теперь подпишем каждого олигарха. Для этого добавим ноды: textpath, transform, align, line, datastamp, merge, созданная для объединения нод и блоков нод, и свяжем их как показано на рисунке.


Ноду line2 настроим таким же образом как ноду line1, а datastamp2 как datastamp1.
В ноде textpath 1 в параметре Text укажем stamp("data_value_0", "hello"), в ноде transform параметре Rotate укажем значение 305.
Разберем выражение "data_value_0", "hello":
"data_value_0" означает, что будут браться данные из базы данных из первого столбца, счет столбцов начинается всегда с 0;
"hello" означает, что данные будут браться из символов алфавита.

В ноде align2, настраиваем значение параметров следующим образом: Horizontal align –«Right», Vertical align – «Top».
Щелкаем два раза на конечную ноду merge1, что бы ее верхушка загорелась желтым цветом и получаем следующий результат.

Теперь сделаем заключительный штрих, создадим надпись, для этого создадим еще одну ноду textpath, где в параметре Text пропишем название и соединим ее c merge1, как на рисунке.


Экспортруем графику в формат. Для этого в меню выбираем File-Export Range. Параметры выбираем согласно рисунку ниже.

Получаем результат.

Скачать сам пример [ Cкачайте файл, чтобы посмотреть ссылку ], [ Cкачайте файл, чтобы посмотреть ссылку ].
Конечно в этой инфографике есть свои недостатки, например, цифры которые соответствуют итоговым суммам в млн. грн, на которые заключали договора олигархи видны только при очень большом увеличении, начиная с Дмитрия Фирташа, но этим примером мы стремились показать возможности программы Nodebox для создания инфографики, пользуясь разными возможностями программы, по этому вы можете сами попробовать устранить данный недостаток и на основе изученного разместить цифры оптимальным образом.
Для сравнение данную инфографику можно реализовать в течении 5 минут, тогда как в Adobe Illustrator и [ Cкачайте файл, чтобы посмотреть ссылку ] даже с помощью направляющих довольно сложно будет точно рассчитать объем фигуры пропорционально значениям из базы данных.











Рисунок 1Рисунок 2Рисунок 13Рисунок 9~ђ Заголовок 114ђ Заголовок 315

Приложенные файлы

  • doc 7103860
    Размер файла: 998 kB Загрузок: 0

Добавить комментарий