Визуализируй это! – Telegram
Визуализируй это!
2.9K subscribers
19 photos
2 videos
108 links
Привет, я Наташа (@gnykka) и это мой канал про программирование визуализаций данных и не только.
———
🕸️ slaylines.io | gnykka.io
Download Telegram
​​Год назад я писала про статью «Миф об объективных данных». В ней описывалась идея, что объективность данных — это относительно новый концепт, который зачастую ограничивает нас в познании и анализе. Любые данные всегда субъективны, потому что с ними на каждом этапе работает человек, внося всё больше потенциальных искажений. Мы не должны бояться этой субъективности, но обязаны её признавать и уметь с ней работать.

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

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

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

Если мы не можем избавиться от субъективности, то хотя бы должны не скрывать её. Из этого вытекают три основных правила:

1. Показывать невидимое. Откуда взялись данные? Насколько они могут быть неточными? Кто заинтересован в этих данных или на кого они могут повлиять?

2. Собирать данные с эмпатией. Меньше абстракций и сухих статистик, больше реалистичности деталей. Но при этом и никаких личных или конфиденциальных данных, которые могут кому-то навредить.

3. Задумываться о смыслах. Наша задача — бороться за частность данных и оберегать их от намеренных или ненамеренных искажений.
12👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Как оживить объекты в D3 с помощью анимаций?

Недавно я пыталась разобраться, как именно работают анимации под капотом D3, и в итоге написала небольшой (и, надеюсь, интересный) туториал.

Чтобы не делать банальные линии и столбики, в этот раз я решила анимировать орбитальную систему. Показываю базовые приёмы и объясняю, что такое tween функция и как с её помощью можно расставить планеты по орбитам.

Читать статью 👉 https://dev.to/gnykka/bringing-noscript-elements-to-life-with-d3s-tween-function-42me

Смотреть код 👉 https://codepen.io/gnykka/pen/EaYzyJz
👍13
📚 Five Lessons of Golf

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

Чтобы активнее развиваться, я купила себе книгу "Five Lessons: The Modern Fundamentals of Golf". Её автор — Бен Хоган, один из величайших гольфистов в истории, который, чтобы компенсировать свой невысокий рост, разработал свою методику удара и игры.

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

Очень захотелось с вами поделиться!
23🔥2😱1
Цвет в визуализациях

Нашла и прочитала недавно прекрасную статью Practical Rules for Using Color in Charts от Стивена Фью про (как понятно из названия) правила использования цвета в графиках.

Собрала для вас краткий конспект.

Статья написана для людей, которые, хотя и не сильно погружены в теорию цвета, вынуждены постоянно с ней сталкиваться на практике.

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

🔸Правило 1
Чтобы элементы одного цвета воспринимались одинаково, они должны быть расположены на одном фоне. Да, и никаких градиентов для украшения!

🔸Правило 2
Чтобы элементы были явно заметны, они должны контрастировать с фоном.

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

🔸Правило 3
Цвет должен быть использован для отображения информации, а не для развлечения.

🔸Правило 4
Разные цвета должны отображать различия в данных. Если данные одного типа, его цвет тоже должен быть один.

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

🔸Правило 5
Используйте мягкие и натуральный цвета для большей части информации, а яркие и тёмные — для выделение особенностей.

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

Ещё все наверняка помнят крутой инструмент для создания палитр от Синтии Брюер. В нём есть 3 типа палитр: категориальная, последовательная и дивергентная.

🔸Правило 6
Для диапазонов последовательных значений лучше использовать один оттенок цвета, меняя его интенсивность. Для разных типов данных подойдёт палитра разных различающихся оттенков похожей интенсивности. Соединение этих двух типов — 2 цвета, переходящие один в другой — могут кодировать диапазоны, у которых есть логическое изменение в середине.

В любой визуализации только часть объектов кодирую непосредственно данные. Это, например, линии, столбики, точки. И есть ещё дополнительные объекты, которые помогают понимать эти данные. Например, лейблы, оси, легенда.

🔸Правило 7
Дополнительные объекты должны быть заменты настолько, чтобы выполнять свою функцию, но не больше. Они не должны перетягивать на себя внимание. Очень перекликается с правилом Тафти об отношении количества чернил к данным.

И пара финальных правил.

🔸Правило 8
Избегайте комбинацию зелёного и красного цветов, чтобы визуализацию смогли распознать люди с особенностями восприятия цвета.

🔸Правило 9
Не используйте визуальные эффекты в графиках. Чем проще и понятнее выглядит визуализация, тем лучше.
👍11🔥42
За последние месяцы у меня скопилось несколько ссылок, как раз на новую подборку.

🌀 Небольшое исследование о том, почему простые числа в полярных координатах формируют спирали или линии.

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

📊 Подробный гайд с примерами кода на R, показывающий, как можно использовать гистограмму в роли легенды для графика.

🎨 Статья с советами, как эффективнее всего создавать монохромные графики, если нет возможности или желания использовать яркие цвета.

🍖 Забавное исследование о том, работает ли принцип «чем ближе к вокзалу, тем хуже кебабы». Спойлер: никакой корреляции автор так и не нашёл.
👍11🔥5
​​Как я собираю палитры для проектов

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

Сразу уточню: это мини-гайд именно для дизайн-систем. Для графиков он подходит не всегда — разве что в случае последовательных палитр.

Обычно, когда мне приносят дизайн, в нём есть несколько цветов: для текста, фона, интерактивных элементов вроде ссылок или кнопок, отдельных акцентных деталей. Чаще всего это 1–2 брендовых цвета плюс нейтральные — светлый, тёмный и оттенки серого. Но редко дизайнеры сразу собирают из этого полноценные палитры, а создать непротиворечивую систему всё равно нужно.

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

Моё основное правило: полная палитра каждого цвета должна содержать не больше 11–13 шагов. И это при том, что первый шаг — белый, а последний — чёрный. Этой схемы придерживаются многие CSS-фреймворки, например Tailwind или Material UI.

Для этого я чаще всего использую Palette App. Там я создаю 11 шагов будущей палитры, расставляю имеющиеся цвета от самого тёмного к самому светлому, стараясь сохранить равномерный шаг, и затем заполняю пустые промежутки, экстраполируя значения hue, saturation и lightness соседних цветов.

В итоге получается что-то вроде такого:
lava: {
900: "#821C0C",
800: "#A11E0B",
700: "#CC2402",
600: "#FF3800",
500: "#FF530A",
400: "#FF7832",
300: "#FFA86D",
200: "#FFCCA5",
100: "#FFE8D3",
},


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

Например, цвет lava в конфиге Tailwind у меня превращается в:
"primary": {
DEFAULT: palettes.lava[600],
hover: palettes.lava[500],
high: palettes.lava[200],
},
"on-primary": {
DEFAULT: palettes.white,
high: palettes.lava[600],
},


Я оставляю только реально используемые цвета, даю палитрам осмысленные имена, а оттенки именую по акценту (этот принцип называется emphasis-based naming).

Когда-нибудь я сделаю из этого полноценный гайд по созданию дизайн-систем, а пока просто оставлю полезную ссылку на принципы именования цветов в Material Design.
10🔥4👍1
Вот как итоговая палитра выглядит внутри стайлгайда.

Это основные сочетания цветов, которые мы используем в Synnax — платформе для анализа кредитных рейтингов компаний.
12
Детский конкурс визуализаций

Коллеги придумали очень классную инициативу — конкурс для детей 6–11 лет! Можно дать волю творчеству и придумать любую визуализацию данных: нарисовать на бумаге, собрать из игрушек или конфет или создать на компьютере.

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

Если у вас есть дети, племянники или младшие братья и сёстры — покажите им конкурс. Отличный повод провести время вместе и сделать что-то по-настоящему необычное 🧡

👉 Регистрация

💬 Канал: @data2kids
🔥4👍3🥰2
Осталась последняя неделя приёма работ на конкурс!

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

Дедлайн подачи работ: 30 октября.

🎨 А уже завтра пройдёт новый эфир, посвящённый номинации «Рисунок»! Ссылка на него будет в канале @data2kids.

Участников ждут подарки (iPad, LEGO и многое другое), гайды и памятные призы. Если вы ещё не присоединились — сейчас самое время.

Участвовать!
🔥103🥰2
Недавно увидела на Reddit интересную визуализацию: карту связей научных статей, где десятки тысяч работ собраны в кластеры по предметным областям.

Как это сделано: из открытого набора LAION (около 100 млн научных и исследовательских текстов, здесь — небольшой срез) извлекли краткие выжимки, перевели статьи в векторные представления, спроецировали в 2D и сгруппировали по близости.

🔗 Демо: https://laion.inference.net/embeddings

🛠️ Код: https://github.com/context-labs/laion-data-explorer (React + D3)
🥰9👍7