С месяц назад в издательстве O’Reilly вышла достаточно любопытная книга — Interactive Data Visualization for the Web. An Introduction to Designing with D3.
Эта книга позиционируется как руководство для специалистов любого уровня подготовки, и даже и даже обладая практически полным отсутствием знаний в визцализации данных и веб-разработке, вы можете с уверенностью брать в руки эту книгу. Простая и основанная на практических примерах, рассказывает о фундаментальных концептах и методах D3.
D3 — это библиотека JavaScript, которая позволяет отображать данные в веб-браузере.
Помимо навыков визуализации, вы сможете расширить свои навыки программирования, используя такие инструменты как HTML и JavaScript.
Это пошаговое руководство применимо и для дизайнеров, и для визуальных художников без знания программирования, для журналистов которым хочется исследовать новые подходы в журналистике, а также для всех кто хочет изучить визуализацию и возможности обмена данными.
Скотт о книге:
Что есть интересного в книге:
Вот что меня не перестаёт удивлять в технологиях — это то, что элегантные решения всегда можно найти. И для красивых визуализаций совсем не всегда нужен флэш, даже для трехмерной графики.
Вот пример: трёхмерная визуализация статистики населения, в рамках проекта Chrome Experiments. Почему Chrome? Потому что он поддерживает стандарт Web-GL по работе с графикой в JavaScript-программировании, позволяющий создавать интерактивную трёхмерную графику прямо внутри браузера. Этот стандарт поддерживается пока ещё не всеми браузерами, и Chrome выступает лейтмотивом (windows, mac — неважно).
Ребята из Google Arts team под предводительством Дага Фритца, использовали массив общедоступных данных по населению, и по объёму поискового трафика Google. И получилось вот что:
Трёхмерная инфографика плотности населения Земли (ссылка):
Для реализации задачи был выбрана JS-библиотека Three.js, предназначенная для разработки лёгких трёхмерных сцен. Каждая точка стала основой для параллелепипеда, при этом для каждого было построено 5 граней (кроме нижней, ненужной). Направление каждого параллелепипеда высчитывалось в соответствии с положением точки на земной поверхности, и продолжением вектора идущего из центра. Для скорости обработки и построения, затем весь массив полигонов был соединён в единый графический объект. Много математики и расчётов, но в итоге получилось интересно.
А вот так выглядит инфографика по поисковому трафику (ссылка):
Непосредственно за само управление объектом в трёхмере отвечает как раз WebGL, перенося обработку картинки с сервера на процессор самого пользователя.
Так что теперь можно взять и построить глобус любой страны. Хоть глобус Никарагуа рисуйте:) Разработчики открыли доступ к данным (доступно по ссылке), в формате JSON. Если кто будет играться — покажите, что получилось.