ИИ и датавиз

Иллюстратор: Наталья Кучинская

Своим опытом делятся дата-журналист, аналитик исследований Яндекса Алексей Смагин и графический дизайнер, преподаватель НИУ ВШЭ Алексей Новичков.

Оглавление

Задача 1. Создание простого графика

Задача 2. Поэтапное создание визуализации

Задача 3. Поэтапное создание сложной визуализации

Задача 4. Вопросы к нейросети на тему визуализации данных

Как создать график с помощью нейросети

Задача 1. Создание простого графика

Описание задачи

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

Промпт

Результат выдачи

Простая визуализация, сгенерированная нейросетью

Комментарий

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

Задача 2. Поэтапное создание визуализации

Описание задачи

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

Референс визуализации, которую нейросеть должна воспроизвести

Промпт 1

Результат выдачи нейросети 1

Первый вариант выдачи барчарта

Комментарий

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

Промпт 2

Результат выдачи нейросети 2

Второй вариант выдачи барчарта с легендой в заголовке и отображением данных по месяцам

Комментарий

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

Промпт 3

Результат выдачи нейросети 3

Третий вариант барчарта с отображением данных по неделям

Комментарий

Нужно, чтобы смерти были внизу. Есть также замечания и уточнения по осям X и Y.

Промпт 4

Результат выдачи нейросети 4

Четвертый вариант выдачи барчарта

Комментарий

Засечки должны идти через равное количество дней. Оптимально — через каждую неделю или две. Также нет подписи месяца. Заголовок и самая левая часть подписи на оси Y должны начинаться на одной линии.

Промпт 5

Результат выдачи нейросети 5

Пятый вариант выдачи барчарта с корректными подписями оси X

Комментарий

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

Промпт 6

Результат выдачи нейросети 6

Итоговый вариант выдачи барчарта

Комментарий

Все правки учтены. Теперь приступаем к созданию дополнительных элементов.

Промпт 7

Результат выдачи нейросети 7

Визуализация с дополнительным линейным графиком и аннотациями

Комментарий

Линию необходимо откорректировать, как и формат аннотации.

Промпт 8

Результат выдачи нейросети 8

Окончательный вариант визуализации

Задача 3. Поэтапное создание сложной визуализации

Описание задачи

Этот кейс (как и сама визуализация) интереснее и сложнее.

Сложная визуализация, созданная с помощью нейросети

Промпт 1

Результат выдачи нейросети 1

Первый вариант выдачи

Комментарий

В исправлении нуждается размер графика.

Промпт 2

Результат выдачи нейросети 2

Второй вариант выдачи: неверное расположение объектов

Комментарий

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

Промпт 3

Результат выдачи нейросети 3

Третий вариант выдачи с измененными цветами и легендой

Комментарий

Нужно убрать ранжирование по местам в рейтинге и вместо этого указать названия компаний. Также не нужна легенда.

Промпт 4

Результат выдачи нейросети 4

Четвертый вариант выдачи без легенды

Комментарий

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

Промпт 5

Результат выдачи нейросети 5

Пятый вариант выдачи с корректным расположением подписей

Комментарий

Почти готово. Осталось доработать круги и соединительные линии.

Промпт 6

Результат выдачи нейросети 6

Итоговый вариант сгенерированной визуализации

Со всеми ли задачами справляется ИИ?

На этот вопрос сложно ответить прямо. ИИ редко что-то сразу делает, как ты хочешь — это всегда совместное творчество. Ты накидываешь первое видение задачи, ИИ предлагает решение. Ты начинаешь лучше понимать ограничения, объясняешь модели ошибки. Результат может стать лучше. А может и не стать — тогда приходится доделывать его «руками».

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

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


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

Как работать с ИИ для визуализации данных: подходы и рекомендации

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

У тебя есть таблица с данными, из нее необходимо взять поля year | country | count. Построй линейный график, где по оси X будет year, по оси Y — count, а каждая country будет отдельной линией.

Для работы с графиками ChatGPT будет писать код — скорее всего, на Python или JS. Чтобы добиться хороших результатов, я рекомендую указывать конкретные библиотеки и технологии. Лучше всего писать код на JS, а в среде визуализаторов данных стандартом уже давно является библиотека d3. Также недавно я обнаружил, что ChatGPT отлично рисует графики, используя React — там по умолчанию получается хороший дизайн. Корректировка в таком случае будет выглядеть так:

Используя React, построй линейный график…

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

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

Автор: Алексей Смагин

Нейросеть как консультант

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

  1. Написать код для автоматической визуализации.
  2. Забрать данные из изображения.
  3. Сделать серию единообразных иллюстрация для мастер-класса.
  4. Преобразование табличных данных в формат CSV.
  5. Создание вымышленного контента для прототипирования.
  6. Написание скрипта для Google Таблиц.

Я использую коллекторы ИИ-сервисов:

  • Leonardo AI для генерации изображений.
  • ChadGPT для работы с текстом или кодом.
  • Mistral или DeepSeek, если нужно сэкономить средства.

Еще я экспериментирую с локальными нейронками, но пока только могу порекомендовать связку Krita + Stable Diffusion. 

Использовал Comfy UI для экспериментов генерации изображений.

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

Задача 4. Вопросы к нейросети на тему визуализации данных

Описание задачи

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

Промпт

Выдача нейросети

Ответ нейросети на запрос

Со всеми ли задачами справляется ИИ?

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

Автор: Алексей Новичков