Библиотека маркетолога

Выбор инструментов для визуализации данных

Нейтан Яу; пер. Светлана Кирова Глава из книги «Искусство визуализации в бизнесе. Как представить сложную информацию простыми образами»
Издательство "Манн, Иванов и Фербер"

Как рассказать историю с помощью данных

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

Больше чем числа

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

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

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

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

Журналистика

В полной мере все вышесказанное до меня дошло во время стажировки в газете New York Times. Длилась она всего три летних месяца после второго курса магистратуры, но изменила мой подход к данным навсегда. Я не только научился создавать графику для новостей. Я научился преподносить данные как новость, а вместе с тем узнал многое о дизайне, организации и проверке фактов, а также об их поиске и изучении.

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

Посмотрите на любую схему или диаграмму в New York Times. Данные в ней всегда представлены кратко, ясно и чрезвычайно красиво. Однако что это значит? Когда вы смотрите на инфографику, вы получаете возможность понять данные. Важные моменты или области сопровождаются комментариями; символы и цвета аккуратно объяснены в легенде или в примечаниях; а еще Times делает все для того, чтобы история, содержащаяся в данных, прочитывалась аудиторией легко. Это уже не просто диаграмма или схема. Это графика.

Графика, представленная на рис. 1, похожа на ту, которую вы можете найти в New York Times. На ней показано, как увеличивается вероятность того, что вы умрете в ближайший год, в зависимости от вашего возраста.

Рис. 1. Вероятность смерти с учетом вашего возраста

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

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

Искусство

New York Times — газета объективная. Она излагает вам данные и дает факты. В этом ей нет равных. На другом конце спектра находится визуализация, которая в меньшей степени связана с аналитикой и в большей — с погружением в эмоции. Именно этим занимаются Джонатан Харрис и Сеп Камвар в своей работе «Все у нас хорошо» (Jonathan Harris, Sep Kamvar, We Feel Fine), представленной на рис. 2.

Рис. 2. «Все у нас хорошо» (Джонатан Харрис, Сеп Камвар)

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

Можно привести еще много примеров. Скажем, работа Голана Левина «Мусорка» (Golan Levin, The Dumpster). В ней исследуются записи в блогах, в которых говорится о расставаниях со значимым человеком. Или «Sumedicina» Кима Азендорфа (Kim Asendorf), в которой рассказывается выдуманная история мужчины, убегающего от пораженной коррупцией организации, но не словами, а схемами и диаграммами. Или скульптуры Андреаса Николаса Фишера (Andreas Nicolas Fischer), изображающие экономический спад в Соединенных Штатах.

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

Развлечение

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

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

Так, Facebook обнаружил, что самый счастливый день — это День благодарения, а OkCupid выяснил, что люди склонны к преувеличениям чаще всего тогда, когда говорят о своем росте, и любят приписать себе примерно 5 лишних сантиметров.

Рис. 3. Распределение значений роста мужчин на сайте OkCupid

Побуждение

Конечно, задача историй не всегда состоит в том, чтобы информировать или развлекать людей. Иногда истории используются, чтобы донести мысль о необходимости срочно предпринять некие меры или чтобы подвигнуть людей на какие-то действия. Кто может забыть тот момент в «Неудобной правде», когда Ал Гор встает на ножничный подъемник, чтобы продемонстрировать, как поднимается уровень углекислого газа в атмосфере?

Однако, на мой взгляд, никто не сумел справиться с задачей побуждения людей к действию так хорошо, как это удалось Хансу Рослингу (Hans Rosling), профессору в области международного здравоохранения и директору фонда Gapminder. Используя инструмент под названием «трендалайзер» (рис. 4), Рослинг создал анимированное изображение, показывающее изменения уровня бедности в разных странах. Выступление у него получилось просто изумительным, так что если вы его еще не видели, я горячо рекомендую вам это сделать.

Рис. 4. Трендалайзер фонда Gapminder

С точки зрения визуализации тут все довольно элементарно. Это просто динамическая диаграмма. Пузырьки обозначают различные государства и двигаются в соответствии с динамикой показателей бедности в конкретной стране на протяжении определенного года. Так в чем секрет популярности выступления Рослинга? В том, что он говорит с убеждением и волнением. Он рассказывает историю. Сколько раз вы видели презентации со схемами и диаграммами, от которых все зевают?! Но у Рослинга все иначе. Он извлек смысл, заложенный в данных, и в полной мере раскрыл его. А если к этому добавить еще и глотание шпаги в конце лекции, все становится на свои места — в зале не остается равнодушных. Посмотрев лекцию Рослинга, мне захотелось взять в руки эти данные и самому их рассмотреть. Мне не терпелось вникнуть в эту историю поглубже.

Позже я посмотрел другую презентацию фонда Gapminder на ту же самую тему, с той же формой визуализации данных, но с другим докладчиком. Получилось отнюдь не так волнующе. Если говорить честно, я чуть не задремал. Эмоций было ноль. Данные не показались мне ни убедительными, ни увлекательными. Так что дело не только в данных — не они одни делают рассказ интересным. Важно то, как вы о них рассказываете и как их подаете. От этого зависит, запомнят ли их люди.

Когда все материалы собраны, вам необходимо запомнить: подходите к визуализации так, как будто вы собираетесь рассказать историю. Какого рода историю вы хотите поведать? Это будет репортаж? Или рассказ о жизни? Вы хотите убедить людей в необходимости каких-то действий?

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

Что искать

Хорошо, истории. Договорились. А какого типа истории можно рассказать с помощью данных? Ну, все зависит от того, какими именно данными вы располагаете, но в общем случае, чему бы ни была посвящена ваша графика, вам следует всегда искать две вещи: паттерны и зависимости.

Паттерны

Со временем все меняется. Вы становитесь старше, ваши волосы седеют, а зрение слабеет (рис. 5). Цены меняются. Логотипы меняются. Компании появляются. Компании исчезают. Иногда эти перемены случаются внезапно и без предупреждения. А иногда они происходят так медленно, что вы их даже не замечаете.

Рис. 5. Веселый взгляд на старение

На какие бы данные вы ни смотрели, тенденция сама по себе может быть интересной, как может быть интересен любой процесс изменений. И здесь вы можете изучать паттерны во времени. Допустим, к примеру, что вы изучаете, как с ходом времени менялся курс акций. Он, конечно, то поднимается, то снижается, но на сколько пунктов он меняется за сутки? А за неделю? А за месяц? Существуют ли периоды, в которые курс поднимался сильнее, чем обычно? И если да, то почему это происходило? Имели ли место некие события, которые могли спровоцировать подобные изменения?

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

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

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

Рис. 6. Количество уникальных посетителей сайта FlowingData в день

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

Рис. 7. Количество уникальных посетителей сайта FlowingData в в месяц

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

Конечно, временные зависимости — это не единственное, что можно искать. Определенные паттерны можно найти также и в в совокупностях, которые способны помочь вам сравнить некие группы людей или других объектов. Что вы чаще всего едите в течение недели? О чем обычно говорит президент в своем Послании Конгрессу? Какие штаты обычно голосуют за республиканцев? В данном случае полезно поискать паттерны по географическим регионам. И, как вы убедитесь, читая следующие главы, типы вопросов и данных могут быть разными, но ваш подход останется почти неизменным.

Зависимости

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

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

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

Рис. 8. Количество уникальных посетителей сайта FlowingData в в месяц

Столбцовые диаграммы показывают количество пользователей интернета, а также количество абонентов с коммутируемым доступом и широкополосных сетей на 100 жителей. Отметьте, что разброс у интернет-пользователей (от 0 до 95 на 100 жителей) гораздо шире, чем у двух других групп.

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

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

Сомнительные данные

Пытаясь разглядеть истории, скрывающиеся за вашими данными, стоит всегда подвергать сомнению то, что вы видите. Помните: то, что это — числа, еще не означает, что они верны.

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

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

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

У человека, занимающегося сбором данных, обычно возникает некое чувство того, что именно можно ожидать. Если сбором данных занимались вы сами, тогда просто спросите себя: это нормально — что один штат дает 90 процентов чего бы там ни было, а все остальные, вместе взятые, умещаются в диапазоне 10–20 процентов от общего объема? Что там такое происходит?

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

Дизайн

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

Объясните кодировки

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

В работе Уильяма Кливленда (William Cleveland) и Роберта Макгила (Robert McGill) вопросы кодировки рассмотрены в деталях. Некоторые типы кодировок работают лучше, чем другие. Но какой именно подход к кодировке вы выберете, будет не так уж и важно, если в конечном счете читатели не смогут понять, что именно выражают те или иные обозначения. Если они не смогут раскодировать ваше послание, значит, время, которое вы посвятили созданию диаграммы, окажется потраченным впустую.

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

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

Итак, как вы можете убедиться, что читателям удастся расшифровать ваши кодировки? Просто объясните им значение каждого элемента с помощью подписей, легенд и ключей. Что именно выбрать — зависит от ситуации. Посмотрите, например, на карту мира на рис. 9, которая дает представление об использовании программы Firefox в различных странах земного шара.

Рис. 9. Использование программы Firefox в мире, по странам

Вы видите, что разные страны окрашены в разные оттенки голубого, но что означают эти оттенки? Темный цвет — это больше или меньше потребителей? И если больше, то больше какого именно количества? В том виде, в котором карта представлена на рисунке, она довольно-таки бесполезна. Но если вы снабдите ее легендой, такой, как на рис. 10, все сразу прояснится. В данном случае цветовая легенда выполняет и еще одну функцию: она представляет собой столбцовую диаграмму, демонстрирующую распространенность программы на основании количества пользователей.

Рис. 10. Легенда к карте использования Firefox

Если у вас есть достаточно места или слишком много категорий, вы можете вставить подписи непосредственно рядом с объектами вашей диаграммы, как это продемонстрировано на рис. 11. На данной диаграмме показано количество номинаций, которые тот или иной актер получил перед тем, как был удостоен премии «Оскар» за лучшую мужскую роль.

Рис. 11. Непосредственное обозначение объектов

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

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

Дайте осям названия

Вы уже поняли, почему необходимо всегда давать пояснения к кодировке. Точно так же вам следует всегда давать названия осям в ваших графиках и диаграммах. Без подписей и объяснений оси будут исполнять лишь декоративную роль. Дайте им названия, чтобы читатели знали, какая именно шкала применяется в каждом конкретном случае. Логарифмическая, дифференциальная, экспоненциальная или вы измеряете все в расчете на 100 сливных бачков унитазов? Лично я, когда не вижу у осей названий, всегда по умолчанию принимаю, что речь идет именно о последнем.

Чтобы продемонстрировать свою мысль, я вернусь к конкурсу, который организовал пару лет назад на сайте FlowingData. Я разместил на страничке изображение, представленное на рис. 12, и попросил читателей дать самые интересные названия осям.

Рис. 12. Вставьте название

Для одного и того же графика я получил около 60 различных вариантов названий. Часть из них представлена на рис. 13.

Рис. 13. Некоторые из результатов, полученных во время соревнования по придумыванию названий на FlowingData

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

Держите геометрию под контролем

Когда вы создаете диаграмму, вы используете геометрические фигуры. В столбцовой диаграмме вы используете прямоугольники. При этом величины вы выражаете высотой прямоугольников. В точечной диаграмме индикатором величины служит местоположение. То же самое и с графическим представлением временны'х рядов. В круговых диаграммах для выражения величины используется угол, а сумма величин всегда равняется 100 процентам (рис. 14). Это несложно, но будьте начеку, потому что так же несложно все перепутать. Если вы не проявите достаточного внимания, вы легко можете допустить ошибку, и когда вы облажаетесь, люди, особенно в Сети, не побоятся вам об этом сказать прямым текстом.

Рис. 14. Правильное и неправильное составление круговых диаграмм

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

На рис. 15 показаны два круга, размер которых задавался по площади. Это правильный подход.

Рис. 15. Правильный подход при определении размеров кругов в диаграммах

На рис. 16 представлена пара кругов, чьи размеры определялись по диаметру. Первый круг диаметром в два раза меньше второго, но по площади он меньше в четыре раза.

Рис. 16. Неправильный подход при определении размеров кругов в диаграммах

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

Укажите источники

Казалось бы, не нужно говорить о необходимости указывать источники данных — но уж слишком много людей забывают это сделать. Откуда взялись все эти данные? Если вы посмотрите на диаграммы в газетах, вы увидите, что источник в них всегда указан — обычно мелким шрифтом где-нибудь внизу. Вы должны поступать так же. Иначе читатели не будут знать, насколько достоверными являются ваши графики и диаграммы.

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

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

Учитывайте аудиторию

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

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

Закругляясь

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

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

Выбор инструментов для визуализации данных

Теперь вы готовы приступить к визуализации. Один из вопросов, которые люди чаще всего задают мне на этом этапе, звучит так: «Какое программное обеспечение мне следует использовать для визуализации данных?»
К счастью, вариантов у вас много. Часть программ уже предустановлена у вас на компьютере и работает по принципу перетаскивания (drag and drop). Чтобы пользоваться другими инструментами, вам потребуются некоторые навыки программирования. А есть и такие средства, которые не были разработаны специально для графического представления данных, но тем не менее могут оказаться вам полезными. Настоящая глава посвящена теме выбора программного обеспечения для визуализации данных.
Чем бо'льшим количеством инструментов вы овладеете, чем лучше станете разбираться в их преимуществах, тем меньше вероятность, что вы растеряетесь, не зная, что делать далее с имеющимся у вас массивом данных, и тем выше шанс, что вы создадите диаграмму или график, достойно представляющие ваше ви'дение.

Готовые решения для визуализации

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

Опции

Выбор готовых инструментов не так уж и богат и зависит от приложения, для которого они были разработаны. Некоторые из этих инструментов, такие как Microsoft Excel или Google Documents, предназначены для управления данными и графикой на базисном уровне, в то время как другие сконструированы для более углубленного анализа и визуального исследования.

MICROSOFT EXCEL

С этой программой вы наверняка знакомы. Перед вами — всем известная таблица, куда вы обычно вводите свои данные (рис. 17).

Рис. 17. Таблица в Microsoft Excel

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

Рис. 18. Варианты диаграмм в Microsoft Excel

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

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

GOOGLE SPREADSHEETS

Google Spreadsheets — это, по сути, облачная версия Microsoft Excel с обычным табличным интерфейсом, в чем вы можете сами убедиться, посмотрев на рис. 19.

Рис. 19. Таблицы в Google Spreadsheets

Данная программа также предлагает стандартный набор диаграмм, как это показано на рис. 20.

Рис. 20. Варианты графиков и диаграмм в Google Spreadsheets

Однако у Google Spreadsheets есть и некоторые преимущества перед Microsoft Excel. Во-первых, благодаря тому, что данные сохраняются на серверах Google, вы можете получить к ним доступ с любого компьютера, на котором установлен веб-браузер. Просто зайдите со своей учетной записи и действуйте. Вы можете легко обмениваться своими таблицами с другими людьми и работать с ними вместе в реальном времени. Google Spreadsheets предлагает также и некоторые дополнительные возможности для вычерчивания диаграмм с помощью гаджетов, как это показано на рис. 21.

Рис. 21. Гаджеты Google

Многие из доступных гаджетов бесполезны, но среди них есть и несколько весьма толковых. Например, имея временны'е ряды данных, вы легко можете создать динамическую диаграмму (такую же, как у Ханса Рослинга). А с интерактивной диаграммой временных рядов, представленной на рис. 22, вы, возможно, уже знакомы, если заходили на Google Finance.

Рис. 22. Google Finance

MANY EYES

Many Eyes — это действующий исследовательский проект Лаборатории визуальной коммуникации IBM. Представляет собой онлайн-приложение, дающее возможность загружать свои данные в виде текстового файла с разделителями и изучать этотфайл с помощью набора интерактивных инструментов визуализации. Изначально сервис Many Eyes создавался с целью выяснить, способны ли люди исследовать большие массивы данных в группах — отсюда и название (Many Eyes — множество глаз). Другими словами, сможет ли группа (множество глаз) высмотреть в большом массиве данных интересные моменты быстрее и эффективнее, чем если бы это делал один человек, или найти в данных что-то такое, чего бы не нашел одиночка.

Хотя Many Eyes как инструмент для анализа социальных данных не получил особого распространения, он тем не менее может быть вам полезен. В нем есть почти все традиционные типы визуализации, такие как линейный график (рис. 23) и диаграмма рассеяния (рис. 24).

Рис. 23. Линейный график на Many Eyes

Рис. 24. Диаграмма рассеяния на Many Eyes

Но, помимо этого, Many Eyes предлагает целый набор различных, более продвинутых и экспериментальных типов визуализации, а также ряд базовых инструментов для составления карт. Дерево слов поможет вам исследовать текст, например, книги или статьи целиком. Выберите слово или фразу, и вы узнаете, как они применяются в тексте, увидите, что следует за ними. В качестве примера на рис. 25 представлены результаты поиска для слова «право» («right») в Конституции Соединенных Штатов.

Рис. 25. Дерево слова «право» в Конституции США на Many Eyes

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

Рис.26. Текстовое облако из слов Конституции США

Как вы видите, у Many Eyes есть много опций, которые помогут вам опробовать различные варианты визуализации ваших данных. В настоящий момент это пока что самый богатый по возможностям (и, на взгляд многих, лучший) бесплатный набор инструментов для исследования данных. Но тем не менее мне следует вас предостеречь. Во-первых, большинство инструментов являются Java-апплетами, а потому вы немногого добьетесь, если у вас не стоит Java. (Для большинства людей это не проблема, но я знаю нескольких человек, которые по разным причинам очень разборчиво относятся к тому, что следует, а что не следует инсталлировать в компьютер.)

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

TABLEAU SOFTWARE

Tableau Software, программа, работающая только под Windows, относительно нова, но в последние пару лет быстро набирает популярность. Она создана главным образом для визуального исследования и анализа данных. Совершенно очевидно, что ее разработчики уделили особое внимание эстетике и дизайну. Потому-то программа и нравится многим.

Tableau Software предлагает обилие интерактивных инструментов визуализации, а еще очень хорошо умеет управлять данными. Их можно загружать как из Excel, так и из текстовых файлов и с серверов баз данных. В вашем расположении стандартные диаграммы временны'х рядов, гистограммы, круговые диаграммы, основные типы картографических способов визуализации и т. д. Вы можете смешивать и сочетать способы отображения, можете залезть в источник динамических данных, чтобы составить собственное мнение о нем, или в инструментальную панель, чтобы получить представление о том, что происходит с вашими данными.

Относительно недавно компания Tableau выпустила Tableau Public — бесплатный инструмент, предлагающий в десктоп-редакциях определенное подмножество функциональных возможностей полной версии. Вы можете загрузить ваши данные на сервер Tableau, создать интерактивный объект и опубликовать его на вашем сайте или в блоге. Однако любые данные, которые вы загрузите на сервер, как и в случае с Many Eyes, станут общедоступными, так что помните об этом.

Если вы хотите использовать Tableau, сохраняя при этом свои данные закрытыми, тогда вам придется привыкнуть к десктоп-редакциям. На момент написания этой книги программные средства для настольных систем оставались несколько дороговатыми — их цены колебались в диапазоне от 999 до 1999 долларов США (для индивидуального и корпоративного пользования соответственно).

YOUR.FLOWINGDATA

Мой личный интерес к теме сбора персональных данных вдохновил меня на создание собственного сервиса: your.flowingdata (YFD). Это онлайн-приложение, дающее возможность собирать данные через Twitter, а затем исследовать существующие в них паттерны и взаимосвязи при помощи набора интерактивных инструментов визуализации. Некоторые люди отслеживают таким образом свой режим питания или сна. Другие регистрируют то, как их малыши овладевают новыми навыками, и создают своего рода детский альбом, только заполненный не фотографиями, а данными.

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

Компромиссы

Несмотря на то что все эти инструменты просты в применении, у них есть и некоторые недостатки. Чтобы не лишать себя удобной возможности работать методом перетаскивания (drag and drop), вам придется несколько ограничить себя в гибкости относительно того, что можно сделать с данными. Как правило, вам доступно изменение цветов, шрифтов и названий, но вы не можете делать того, чего в программе не предусмотрено. Если в ней нет кнопки для того типа диаграммы, которую вы хотите построить, то с этим вам придется смириться.Бывает и наоборот: некоторые сервисы могут иметь огромное множество функций, но у них окажется и масса кнопок, которые вам придется изучить. Например, существовала одна программа (не упомянутая выше), по которой я как-то прошел ускоренный курс обучения, — было вполне очевидно, что она способна на многое, если вложить в ее освоение достаточно времени. Однако процесс выполнения задач в ней оказался настолько далек от интуитивно понятного, что я в конце концов потерял желание изучать ее далее. Помимо прочего, было очень непросто повторять процедуру для различных наборов данных, так как приходилось запоминать все, по чему я щелкал мышью. Когда вы собственноручно создаете код для управления данными, потом бывает очень легко применить его повторно и подключить к обработке другого набора данных.

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

Программирование

Я никогда не устану повторять: стоит вам обрести хоть немножечко знаний в области программирования, и вы сможете делать со своими данными гораздо больше, чем если вы будете пользоваться лишь готовым ПО. Умение писать программы позволяет вам поступать более гибко и лучше адаптироваться к различным типам данных.

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

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

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

Опции

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

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

Используйте тот язык, который лучше всего подходит для ваших нужд. Однако есть особое удовольствие в том, чтобы изучать новые языки и осваивать новые приемы в игре с данными. Так что вам следует накопить приличный опыт в программировании, прежде чем решить, что вам больше нравится.

PYTHON

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

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

Рис. 27. График, созданный в Python

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

PHP

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

Существует довольно гибкая графическая библиотека для PHP под названием CD, которая обычно включена в стандартный установочный пакет. Библиотека дает вам возможность создавать изображения с нуля и подгонять уже готовые. Помимо нее есть еще множество других PHP-библиотек для построения диаграмм, дающих возможность создавать все основные виды графических объектов. Самая популярная из них — это библиотека для создания искрографиков Sparkline Graphing Library, позволяющая вставлять маленькие, размером со слово, графики в текст или добавлять визуальные компоненты в числовые таблицы, как показано на рис. 28.

Рис. 28. График, созданный в Python

В большинстве случаев PHP связан с некоей базой данных, например с MySQL. Таким образом, вместо того чтобы работать с множеством CSV-файлов, вы можете иметь дело с крупными массивами данных.

PROCESSING

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

У языка Processing есть явное достоинство: освоиться в нем можно довольно быстро. Среда программирования очень простая, и вы можете создавать динамическую и интерактивную графику с помощью всего нескольких строк кода. Эта графика, конечно, будет самого базового уровня, но, поскольку Processing разрабатывался с мыслью о создании визуальных объектов, вы легко научитесь творить и более совершенные произведения.

Хотя аудитория у Processing поначалу состояла преимущественно из дизайнеров и художников, сегодня данное сообщество представляет собой довольно разнородную группу людей. Наличие множества библиотек поможет вам добиться большего.

Однако у Processing есть и недостатки, и один из них заключается в том, что в качестве результатаработы вы получаете Java-апплет, который на компьютерах у части пользователей будет загружаться относительно медленно, кроме того, не у всех стоит Java (хотя у большинства все-таки есть). Впрочем, для этой проблемы существует решение. Недавно была разработана JavaScript-версия Processing, и она готова к употреблению.

Во всех случаях новичкам есть с чего начать. Даже те, у кого нет никакого опыта в программировании, способны сделать что-то полезное.

FLASH И ACTIONSCRIPT

В большинстве случаев интерактивная и динамическая информационная графика в Сети, особенно на крупнейших новостных сайтах, таких как сайт New York Times, разрабатывается с использованием Flash и ActionScript. Графику можно создавать и только во Flash, тем более что интерфейс программы работает по принципу перетаскивания (drag and drop), однако ActionScript позволяет лучше контролировать процесс взаимодействия пользователей с интерактивными объектами. Многие приложения написаны целиком на ActionScript без использования среды Flash. Тем не менее код компилируется как Flash-приложение.

Например, интерактивная карта роста торговой сети Walmart, которая показана на рис. 29, была разработана на ActionScript. Для этого использовалась Modest Maps — интерактивная библиотека для создания карт на основе тайлов. Она распространяется на условиях лицензии BSD, то есть бесплатна, и вы можете использовать ее для чего хотите.

Рис. 29. Анимированная карта роста Walmart, созданная на ActionScript

Интерактивная штабельная диаграмма с областями, представленная на рис. 30, также была написана на ActionScript. Она дает возможность отслеживать различные категории расходов по годам. Для выполнения большей части тяжелой работы использовалась библиотека Flare ActionScript, созданная в Лаборатории по визуализации при Калифорнийском университете в Беркли.

Рис. 30. Интерактивная штабельная диаграмма с областями показывает распределение расходов потребителей (создана с помощью ActionScript)

Если вы хотите заниматься созданием интерактивной графики для Сети, тогда Flash и ActionScript — отличный выбор. Flash-приложения загружаются относительно быстро, и у большинства людей на компьютерах Flash Player уже установлен.

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

А поскольку веб-браузеры постоянно совершенствуются в плане скорости и эффективности, перед вами раскрываются все бо'льшие возможности.

Примечание. Хотя существует множество ActionScript-библиотек с открытым исходным кодом, Flash и Flash Builder стоят недешево, что следует учитывать при выборе программного обеспечения.

HTML, JAVASCRIPT И CSS

Веб-браузеры становятся все быстрее, их функционал — все богаче и разнообразнее. У многих людей сегодня браузер — самое используемое приложение на компьютере. В последнее время произошел заметный сдвиг в сторону визуализации, которая легко запускается без «посторонней помощи» в браузере через HTML, JavaScript и CSS. Раньше информационная графика, если в ней присутствовал элемент интерактивности, создавалась преимущественно на Flash и ActionScript — или же сохранялась как статичное изображение. И по сей день почти все делается именно так, но прежде просто не было других вариантов, кроме этих двух, а теперь есть.

Существуют несколько надежных в работе пакетов и библиотек, которые помогают быстро создавать интерактивные и статичные визуальные объекты. Они также предоставляют множество возможностей для подстройки инструментов под конкретные потребности при работе с данными.

Например, Protovis — бесплатная библиотека с открытым исходным кодом, поддерживаемая Stanford Visualization Group, — дает возможность создавать визуальные объекты, специально предназначенные для Сети. Protovis предлагает множество готовых решений, но вы отнюдь не ограничены в том, что и как делать, с точки зрения геометрии. На рис. 31 представлена штабельная диаграмма с областями, которая может быть интерактивной.

Рис. 31. Штабельная диаграмма с областями, созданная с помощью Protovis

Данный тип диаграмм встроен в Protovis, но вы можете создать и менее традиционную диаграмму с областями в виде «потокового графика» (streamgraph1), такую, как показана на рис. 32.

Рис. 32. Потоковый график, созданный по индивидуальному заказу с помощью Protovis

Для обогащения функционала вы можете пользоваться несколькими библиотеками. Во Flash это возможно, JavaScript дает меньше пространства для таких экспериментов. Зато JavaScript намного проще читать и использовать с такими библиотеками, как jQuery и MooTools. Они не специализированы в области визуализации, но могут быть полезными, так как предоставляют множество базовых функциональных возможностей, и с ними вам понадобится всего несколько строчек собственного кода. Без библиотек вам придется писать намного больше, а написанный в спешке код бывает довольно запутанным.

Плагины для библиотек также могут пригодиться вам при создании некоторых основных видов диаграмм и графиков. Например, вы можете использовать плагин Sparkline для jQuery, чтобы делать такие маленькие диаграммы, как представленная на рис. 33.

Рис. 33. Искрографики, созданные с применением плагина jQuery Sparklines

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

Другое преимущество состоит в том, что вам не нужно устанавливать на свой сервер графическую библиотеку PHP. Многие сервера оснащены ею, но бывает, что ее нет. Установка может вызвать у вас затруднения, если вы не знакомы с системой.

Вы можете и вовсе не пользоваться плагинами. Можете разрабатывать визуальные объекты по индивидуальному заказу стандартными методами веб-программирования. Для примера на рис. 34 представлен интерактивный календарь, который способен также работать в качестве карты интенсивности кликов на сайте your.flowingdata.

Рис. 34. Интерактивный календарь на your.flowingdata, который может работать также и как карта интенсивности кликов

Есть, однако, и некоторые недостатки. Поскольку программы и технология в целом относительно новы, в различных браузерах ваша графика может отображаться по-разному. Некоторые из упомянутых выше инструментов не будут работать корректно в старых браузерах, таких как Internet Explorer 6. Однако эта проблема постепенно решается сама собой, так как все больше людей начинают пользоваться современными браузерами вроде Firefox или Google Chrome. В конечном счете все зависит от вашей аудитории. Скажем, только 5% посетителей FlowingData пользуются старыми версиями Internet Explorer, и несовместимость уже не кажется большой проблемой.

Однако есть также еще один недостаток, связанный с возрастом технологии: количество доступных библиотек для визуализации на JavaScript не так велико, как для Flash и ActionScript. Вот почему многие крупнейшие СМИ все еще активно используют Flash. Впрочем, с развитием технологий это изменится.

R

Если вы читаете FlowingData, вы, наверное, знаете, что R — мой излюбленный инструмент для создания информационной графики. Это свободная программная среда для статистических вычислений с открытым исходным кодом и очень хорошим графическим функционалом. Большинство статистиков предпочитают работать именно с R. Существуют также и платные альтернативы, такие как S-plus и SAS, но им тяжело тягаться с бесплатным вариантом и с активным сообществом его сторонников.

Одно из преимуществ R перед упомянутым выше программным обеспечением состоит в том, что он специально создавался для анализа данных. HTML разрабатывался для создания веб-страниц, а Flash используется для тысячи разных целей, таких как создание видео и анимированных рекламных роликов. R же создавался (и ныне поддерживается) статистиками и для статистиков — это и хорошо, и плохо, в зависимости от того, под каким углом посмотреть.

Существует множество R-пакетов, которые дают возможность создавать информационную графику с помощью всего нескольких строк кода. Загрузите ваши данные в R, и вы получите график или диаграмму, написав всего одну строчку. Например, используя пакет Portfolio, вы можете очень быстро сделать тримап (рис. 35).

Рис. 35. Тримап, созданный в R с пакетом Portfolio

С той же легкостью можно построить и карту интенсивности (рис. 36).

Рис. 36. Карта интенсивности, созданная в R

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

А вот сайт R, если быть до конца откровенным, смотрится ужасно несовременно (рис. 37), да и сама программа не сильно помогает свежеиспеченным пользователям осваивать новую среду. Однако вам необходимо помнить, что R — это язык программирования, и подобная ситуация у вас будет возникать с любым языком, который вы решите использовать. То немногое плохое, что я читал об R, как правило, написано людьми, привыкшими работать с кнопками и методом перетаскивания. Так что когда вы доберетесь до R, не думайте, что увидите интерфейс, где все можно делать мышью, — в противном случае этот интерфейс действительно покажется вам «недружественным».

Рис. 37. Главная страница сайта R: http://www.r-project.org

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

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

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

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

И наконец, вы, возможно, заметили, что графическим объектам, представленным на рис. 35 и 36, чуточку не хватает лоска. Вы вряд ли когда-нибудь обнаружите подобную графику в газетах или журналах. Вы можете подтянуть дизайн в R до определенного уровня, подключив разные опции или написав дополнительный код, но я сам обычно применяю другую стратегию: я делаю основу графического объекта в R, а затем редактирую его и совершенствую в каком-нибудь приложении для подготовки макетов документов, таком как Adobe Illustrator, — об этом мы еще поговорим далее. Для анализа «сырой» продукт R подходит отлично, но для презентаций и сторителлинга лучше будет немного поработать над эстетикой.

Подсказка. Когда вы будете искать что-нибудь, связанное с R, в интернете, поисковые системы могут иногда не учитывать такое короткое название и выдавать сообщение об ошибке или неправильный результат. Поэтому попробуйте указать в своем запросе «r-project», а не просто «R». Результаты поиска должны оказаться более релевантными.

Компромиссы

Изучать новую программу означает изучать новый язык. Язык, на котором говорит ваш компьютер, — это язык, состоящий из битов и обладающий собственной логикой. Когда вы работаете, например, с Excel или Tableau, вы, по сути, работаете с переводчиком. Интерфейс говорит с вами на вашем языке, и когда вы щелкаете мышью по кнопке, программа переводит команду и затем посылает перевод компьютеру. После чего компьютер выполняет ее и делает для вас что-то, скажем, создает график или обрабатывает какие-то данные.

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

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

Можно взглянуть на все это и по-другому. Представьте себе, что вас забросили в чужую страну, а вы не говорите на тамошнем языке. Однако у вас есть переводчик. (Выслушайте меня до конца, я говорю по делу.) Чтобы общаться с местными, вам нужно сперва озвучить свою мысль, а затем переводчик должен донести ваше послание. А что делать, если переводчику неизвестно значение только что произнесенного вами слова или он не знает, какое именно слово употребить, чтобы передать сказанное вами? Он может это слово просто опустить или, если он достаточно сообразительный, заглянуть в словарь.

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

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

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

Иллюстрирование

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

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

Например, на рис. 35 представлен «сырой» результат работы в R. Он показывает количество просмотров и комментариев на сайте FlowingData для 100 самых популярных постов. Посты рассортированы по категориям. Чем ярче зеленый цвет, тем больше комментариев вызвал конкретный пост, а чем больше размер прямоугольника, тем больше было просмотров. По первому варианту тримапа вы бы об этом не догадались, но когда я смотрел на числа, я знал, что именно я вижу, так как я собственноручно писал этот код.

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

Рис. 38. Тримап, созданный в R и отредактированный в Adobe Illustrator

Я мог бы отредактировать код таким образом, чтобы он отвечал всем моим потребностям, но было намного проще щелкнуть мышью по объекту и перетащить его в Adobe Illustrator. Вы можете с нуля создать график или диаграмму в программе для работы с иллюстрациями, а можете импортировать в нее графический объект, который вы разработали, скажем, в R, и отредактировать его так, как вам хочется. В первом случае вы ограничены в выборе вариантов, так как визуализация не является первоочередной задачей данной категории программного обеспечения. Для всего, что сложнее столбцовой диаграммы, вам лучше будет прибегнуть к импорту. В противном случае вам придется очень многое делать вручную, а это чревато ошибками.

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

Опции

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

ADOBE ILLUSTRATOR

Любая графика, построенная на статистических данных, которая выглядит как сделанная на заказ или появляется в том или ином крупном издании, скорее всего, на одном из этапов прошла обработку в Adobe Illustrator. Эта программа — отраслевой стандарт. Каждый графический объект, который печатается на страницах New York Times, был или создан, или отредактирован в Illustrator.

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

Данная программа изначально была разработана для конструирования шрифтов, но позже обрела популярность у дизайнеров-иллюстраторов как средство для создания логотипов и арт-графики. И именно для этого Adobe Illustrator главным образом используется и по сей день.

Тем не менее программа предоставляет доступ к некоторым основным функциональным возможностям визуализации данных через инструмент Graph (Диаграмма). С его помощью вы можете создавать практически все основные типы диаграмм и графиков, такие как гистограммы, круговые диаграммы и диаграммы временны'х рядов. Вам нужно ввести числа в маленькую таблицу, однако этим и исчерпываются возможности управления данными.

Лучшее, что есть в Illustrator в плане информационной графики, — это гибкость и легкость работы при наличии большого числа кнопок и функциональных возможностей. Поначалу их обилие может несколько смутить вас, но в них можно быстро освоиться, и вы в этом сами убедитесь, прочитав четвертую главу («Визуализация паттернов во времени»). Именно эта гибкость позволяет лучшим дизайнерам информационной графики создавать лаконичные и понятные объекты.

Illustrator существует в варианте для Windows и для Mac. Однако у данной программы есть и один недостаток: она недешевая. Особенно высокой цена начинает казаться тогда, когда подумаешь, сколько всего можно сделать с помощью кода, который вообще бесплатен (при условии, что у вас уже есть машина, на которую его можно загрузить). Однако если сравнивать по цене данную программу с другими готовыми решениями, Illustrator не покажется таким уж дорогим.

На момент написания книги самая свежая версия Illustrator стоила на сайте Adobe 599 долларов США, в других местах можно было получить значительные скидки (или взять себе более старую версию). Кроме того, Adobe предлагает существенные скидки студентам и другим членам научного сообщества, так что, возможно, программа достанется вам существенно дешевле. (Это самая дорогая программа, которую я когда-либо покупал, но я использую ее почти ежедневно.)

INKSCAPE

Inkscape — это бесплатная (с открытым исходным кодом) альтернатива Adobe Illustrator. Если вы хотите обойтись без затрат, тогда Inkscape — ваш лучший выбор. Я всегда пользуюсь Illustrator, потому что когда я только начинал осваивать тонкости информационной графики, все пользовались именно им, и это показалось мне самым разумным вариантом действий. Но я слышал хорошие отзывы об Inkscape, и, поскольку программа бесплатная, не будет вреда, если попробуете ее. Только не надейтесь найти такое же, как для Illustrator, количество учебных веб-ресурсов на эту тему.

ДРУГИЕ

Illustrator и Inkscape, безусловно, не единственные программы, с помощью которых можно создавать и доводить до блеска свои диаграммы и графики. Просто ими пользуется большинство людей. Но есть и специалисты, которые предпочитают Corel Draw. Данная программа существует только в варианте для Windows и стоит примерно столько же, сколько и Illustrator. Можно найти ее и чуть подешевле, если знать, где искать.

Существуют и другие программы, такие как Raven от Aviary и Lineform, но они предлагают меньший набор инструментов. Помните, что Illustrator и Inkscape — это основные инструменты графических дизайнеров, и они обладают наиболее богатым функционалом. Но если вы хотите всего лишь чуть подкорректировать парочку существующих диаграмм, тогда можете выбрать и более простое (дешевое) программное обеспечение.

Компромиссы

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

Маппинг

Возможности инструментов для маппинга частично совпадают с возможностями инструментов для визуализации, о которых мы говорили выше. Однако в последние годы объемы географических данных значительно возросли, а вместе с ними увеличилось и количество способов, которыми можно пользоваться для создания карт. Услуги мобильного позиционирования находятся на подъеме, все больше становятся массивы данных с привязанными к ним широтой и долготой. Помимо прочего, карты — невероятно интуитивный способ визуализации данных, и они заслуживают более внимательного рассмотрения. В первые годы существования Сети создание карт было дело непростым. Да и результат не отличался элегантностью. Вы помните те дни, когда приходилось обращаться к MapQuest, выполнять массу инструкций и в конечном итоге получать малюсенькую статичную карту? В какой-то момент и у Yahoo был такой сервис. Длилось это до тех пор, пока Google не реализовал принцип подвижной карты(рис. 39). Хотя технология была изобретена раньше, она не находила применения, пока скорость интернета у большинства людей не выросла достаточно, чтобы обеспечивать непрерывное обновление данных. Сегодня мы уже привыкли к подвижным картам. Мы с легкостью их прокручиваем и увеличиваем, а в некоторых случаях карты оказываются нужны нам не только для определения направления движения — они становятся основным интерфейсом для просмотра набора данных.

Рис. 39. На Google Maps можно получить также и инструкции

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

Опции

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

КАРТЫ GOOGLE, YAHOO И MICROSOFT

Это самое простое онлайновое решение, но и оно требует, чтобы вы хоть немного ориентировались в программировании. Чем лучше вы умеете писать коды, тем большего вы сможете добиться с помощью API для создания карт, предлагаемых Google, Yahoo и Microsoft.

Основной функционал во всех трех случаях довольно схож, но если вы делаете только первые шаги на данном поприще, я рекомендую вам начать с Google. Мне кажется, это самый надежный вариант. У Google есть API для создания карт как на JavaScript, так и на базе Flash, а помимо этого еще и другие связанные с географией сервисы, такие как геокодирование и прокладывание маршрутов. Просмотрите обучающее руководство о том, как начать работу с системой, а затем уже углубляйтесь в изучение других тем, таких, например, как наносить метки, находить оптимальные маршруты и добавлять слои. Всеобъемлющие инструкции с фрагментами кодов и рекомендациями помогут вам быстро освоиться.

Рис. 40. Нанесение меток на Google Maps

У Yahoo также имеется API для создания карт с помощью JavaScript и Flash плюс некоторое количество геосервисов, но я не уверен, как долго они будут доступны, учитывая текущее состояние компании. Когда писалась эта книга, Yahoo переключила свое внимание с разработки приложений на контент-провайдинг. Microsoft также предлагает API для JavaScript (с названием Bing) и еще одно для Silverlight — платформы, которая разрабатывалась этой корпорацией как ответ на Flash.

ARCGIS

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

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

Я использовал ArcGIS в работе над несколькими проектами, потому что я предпочитаю идти «программным путем» и мне все эти функциональные возможности просто были не нужны. У такого богатого инструментария есть и обратная сторона: приходится иметь дело с таким же большим количеством кнопок и меню. Имеются в наличии также онлайн- и серверные решения, но в сравнении с другими разработками они кажутся несколько неуклюжими.

MODEST MAPS

Я уже упоминал Modest Maps выше, когда приводил пример, представленный на рис. 29. В нем демонстрировался рост торговой сети Walmart. Modest Maps — это Flash- и ActionScript-библиотека для карт на основе тайлов, и она также совместима с Python. Библиотека поддерживается группой людей, которые разбираются в онлайн-маппинге и делают прекрасную работу как для своих клиентов, так и для собственного удовольствия, а это многое говорит о качестве библиотеки.

Самое забавное то, что Modest Maps — это в большей степени фреймворк, нежели API для создания карт вроде тех, что предлагает Google. Она обеспечивает абсолютный минимум того, что необходимо для создания онлайн-карты, а после уже не вмешивается в вашу работу и предоставляет вам возможность реализовать то, что вы хотите. Вы можете использовать тайлы от разных провайдеров, а можете кастомизировать карту так, чтобы она подходила для вашего приложения. Например, на рис. 29 представлена карта в сине-черном оформлении, но вы можете с легкостью поменять ее на бело-красную, как это показано на рис. 41.

Рис. 41. Карта в бело-красном оформлении с использованием Modest Maps

Modest Maps распространяется на условиях лицензии BSD, так что вы можете делать с ней все, что захотите, совершенно бесплатно. Правда, для этого вам необходимо будет научиться работать с Flash и ActionScript, но о них мы еще поговорим в восьмой главе («Визуализация пространственных отношений»).

POLYMAPS

Polymaps — это своего рода JavaScript-версия библиотеки Modest Maps. Она была разработана и поддерживается отчасти теми же самыми людьми и предлагает примерно тот же функционал, но и много чего еще в придачу. Modest Maps предоставляет только базовый функционал в области создания карт, в то время как Polymaps имеет такие встроенные функции, как картограммы (рис. 42) и пузырьковые диаграммы.

Рис. 42. Картограмма, демонстрирующая уровень безработицы, реализованная в Polymaps

Поскольку все это JavaScript, объект кажется более легким (так как требует меньше строк кода) и работает в современных браузерах. Для демонстрации данных Polymaps использует масштабируемую векторную графику (SVG), а потому не работает в старых версиях Internet Explorer, хотя большинство людей идет в ногу со временем. К слову сказать, только 5% посетителей сайта FlowingData пользуются устаревшими веб-браузерами, и я подозреваю, что вскоре их количество упадет до нуля.

Лично я в библиотеках для создания карт на JavaScript ценю больше всего то, что код выполняется в браузерах без сучка и задоринки. Вам ничего не приходится делать — никакого компилирования, никакого экспорта Flash. В результате все легко запускается и легко обновляется.

Лично я в библиотеках для создания карт на JavaScript ценю больше всего то, что код выполняется в браузерах без сучка и задоринки. Вам ничего не приходится делать — никакого компилирования, никакого экспорта Flash. В результате все легко запускается и легко обновляется.

R

В базовом варианте распространения R не обладает функционалом для создания карт, но существует несколько пакетов, которые позволяют вам заниматься в R также и маппингом. На рис. 43 представлена маленькая карта, которую я сделал в R. Аннотации были добавлены позже, уже в Adobe Illustrator.

Рис. 43. Карта США, созданная в R

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

ОНЛАЙН-РЕШЕНИЯ

Существует также несколько онлайн-решений для создания карт, которые позволяют с легкостью визуализировать географические данные. В большинстве случаев они берут за основу карты, которые люди используют чаще всего, и удаляют с них все лишнее. Получается нечто похожее на упрощенный ArcGIS. К двум из этих ресурсов доступ свободный. Это Many Eyes и GeoCommons. Первый из них — о нем мы говорили выше — обладает лишь базовым функционалом для работы с данными по странам или по штатам США. А вот GeoCommons предоставляет более широкие функциональные возможности и более богатый инструментарий для взаимодействия. А еще GeoCommons поддерживает самые распространенные форматы файлов с картографическими данными, такие как шейп-файлы и KML.

Имеется также множество платных решений, самые полезные из них — это Indiemapper и SpatialKey. SpatialKey пригоден в большей степени для бизнеса и принятия решений, в то время как Indiemapper отлично подходит для задач картографов и дизайнеров. На рис. 44 представлен пример картограммы, которую я состряпал в Indiemapper всего за несколько минут.

Рис. 44. Картограмма, созданная в Indiemapper

Компромиссы

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

ArcGIS, например, обладает множеством функций, но вам, возможно, не стоит тратить время на ее изучение и деньги на ее покупку, если нужно создавать только простенькие карты. А вот бесплатный R с его базовым функционалом, наоборот, может оказаться слишком простым для того, что вы хотите сделать. Если ваша цель — интерактивные онлайн-карты, вас вполне могут устроить Modest Maps и Polymaps, но тогда вам понадобятся более серьезные навыки в сфере программирования.

Изучите имеющиеся возможности

Данный перечень инструментов отнюдь не исчерпывает все варианты, которыми вы можете пользоваться для визуализации данных, но на первых порах вам его должно хватить. Тут есть много о чем подумать и много с чем поиграть. То, какими инструментами вы в конечном счете будете пользоваться, во многом зависит от того, чего вы хотите добиться, причем всегда есть множество подходов к выполнению задачи даже в рамках одной-единственной программы. Хотите создать статичную информационную диаграмму? Может быть, стоит остановиться на R или Illustrator. Хотите построить интерактивный инструмент для веб-приложения? Тогда попробуйте JavaScript или Flash.

На сайте FlowingData я провел опрос, пытаясь выяснить, чем люди в основном пользуются для анализа и визуализации данных. Ответили чуть более 1000 человек. Результаты представлены на рис. 45.

Рис. 45. Что используют читатели FlowingData для анализа и визуализации данных

Среди ответов есть несколько очевидных лидеров, особенно учитывая тематику FlowingData. На первом месте идет Excel, за ним следует R. А дальше во мнениях и предпочтениях при выборе программного обеспечения наступает разнобой. Более 200 человек выбрали категорию «Другое». В своих комментариях многие заявляли о том, что они комбинируют инструменты для удовлетворения разных потребностей — а в долгосрочном плане это обычно является наиболее эффективным подходом.

Комбинирование возможностей

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

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

Закругляясь

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

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


1 Потоковый график (streamgraph) — разновидность штабельной диаграммы с областями, выстроенной со смещением вокруг центральной оси, в результате чего возникают красивые плавные формы (особенно при работе с большими массивами данных). Разработан Ли Байроном в 2008 году. Генератор можно скачать с GitHub. Прим. пер.