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

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

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

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

✔️ Интернет — главный критерий выбора жилья
Почти всегда я ищу квартиры и отели на Airbnb и Booking и внимательно читаю отзывы. Главный мой фокус в отзывах — информация об интернете. Если по всем критериям место супер, но в отзывах пишут, что интернет плохой, то я ищу другой вариант. Потому что самые большие стрессы мне приносила именно плохая связь на важных созвонах.

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

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

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

Эти пять пунктов — это главное, что помогает мне контролировать время и сохранять продуктивность и рассудок в любых поездках. Проверено на личном опыте!
18👍12🔥4🥰3
​​Смотрите, какую интересную штуку нашла!

Это шрифты, которые выглядят как линейный график или столбчатая диаграмма.

Каждый символ закодирован определённым числом:
- Цифры 0..9 — это значения 0..90 с шагом 10.
- Буквы a..zA..Z — значения 0..100 с шагом 2.
- Юникод символы (U+0100..U+017F) — значения 0…127 с шагом 1.

Можно скачать с Google Fonts:
1. Linefont
2. Wavefont

Идеально для простеньких спарклайнов.
🔥23👍96👌1
Недавно авторы канала Data Driven культура предложили мне собрать небольшую подборку ресурсов про визуализации данных. И я подумала, что никогда ничего подобного здесь не выкладывала!

Я задала себе вопрос: «С чего начать и чем вдохновляться в обучении визуализациям?». И из ответа появился список из десятка пунктов (часть из которых вы наверняка знаете). В него, конечно, не вошло множество интересных книг и крутых специалистов, но чтобы охватить всё, потребовалось бы намного больше места.

Книги
1. Edward Tufte и его книги по информационному дизайну. "The Visual Display of Quantitative Information" — настоящая классика, которую можно назвать библией для графиков. Официального перевода не существует (автор не разрешает), но в сети можно найти неофициальные, а сама книга написана достаточно простым английским языком.

2. Don Norman, "The Design of Everyday Things". Эта книга — основа понимания дизайна и UX, заставляет задуматься о дизайне самых обыденных вещей. В России издана издательством МИФ.

Люди
1. Shirley Wu. Меня очень вдохновляют её аккуратный дизайн и художественные абстракции в визуализациях. У неё много доступных лекций и воркшопов по программированию, их можно найти на YouTube.

2. Nadieh Bremer создаёт удивительные визуализации на самые разнообразные темы.

3. Valentina D'Efilippo больше фокусируется на дизайне и смыслах. Её выступления и рассказы о создании визуализаций, включая Effective Data Visualisation, также доступны на YouTube.

Сайты
1. Information is Beautiful — обширная коллекция инфографик на самые разные темы, от статистики пород собак до доходов правительства Великобритании.

2. Pudding — интерактивные визуальные эссе.

3. Flowing Data — множество визуализаций и страниц с туториалами по их созданию.

4. Блог Datawrapper — статьи с примерами визуализаций и советами, например, по выбору цветовой палитры или подготовке данных.

5. D3.js — не удержалась и всё-таки включила пункт про код. Но и не только, на сайте можно найти множество примеров от простых до сложных с подробным разбором их создания.
❤‍🔥224
Прочитала недавно статью Мелани Фейнберг «Миф о объективных данных».

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

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

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

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

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

Таким образом, стремление к полной объективности в работе с данными оказывается заблуждением. Любой набор данных неизбежно содержит следы человеческой интерпретации и как следствие субъективности. Это не делает данные неверными или бесполезными. Напротив, осознанный подход к их анализу позволяет смотреть на них более широко и креативно.
👍11💯4🔥2
Пока я занята написанием следующих туториалов по D3.js, хочу поделиться уже существующими. Вдруг кто-то пропустил или не видел.

📈 Как сделать LineChart и ScatterChart и в чём разница между методами data и datum

📊 Как сделать BarChart с несколькими сериями данных

🗺 Карты в визуализациях

🥧 Как сделать простой PieChart

🔀 Как сделать Sankey график
🔥17👍4
В эфире нерегулярная подборка статей и ресурсов, на которые я наткнулась за последнее время!

🌫 Погружение в шейдеры на ThreeJS. Статья сочетает основы теории и практики и сопровождает всё интерактивными примерами.

🌍 Генерируемые планеты на ThereJS. Можно настраивать параметры атмосферы, поверхности и освещения. Исходный код доступен на Github.

🕰 TimelineJS — JS-библиотека для создания интерактивных временных шкал, с возможностью использования в no-code формате через Google Таблицы и форму на сайте.

🎨 Scene.js — библиотека для создания красивых анимаций на JS и CSS.

🗓 Календарный хитмап на React, вдохновлённый визуализацией коммитов на Github.
🔥10👍1
Первый пост в году должен быть содержательным и значимым, подумала я и дописала-таки за выходные туториал по созданию Тримапа с помощью D3.js!

В нём я рассказываю:
✦ Как создать и настроить график.
✦ Как победить вылезающие за пределы элементов подписи.
✦ Какой алгоритм для построения тримапа использует D3.

https://teletype.in/@gnykka/d3-treemap

Комментарии, лайки и репосты приветствуются, конечно же!
🔥18👍1🥱1
Наткнулась сегодня на Периодическую таблицу визуализаций.

Множество способов визуализации данных, разбитые по разным параметрам с примерами.

Выглядит любопытно!
🔥96👍3🤔1
Задумывались ли вы когда-нибудь, откуда берутся новые идеи?

Недавно я прочитала статью "How New Ideas Arise" архитектора и поэта Паоло Беларди. В этой статье он исследует источники возникновения идей и инноваций, приводя примеры из науки и искусства.

Сама тема не нова, ещё Гегель рассматривал её в своей работе «Наука логики». Там он писал о важности интуиции и неосознанного воображения в порождении идей и об отказе от контроля рационального разума.

Позже, в 1926 году, английский психолог Грэм Уоллас в своей книге «Искусство мыслить» выделил четыре базовые этапа творческого процесса.

1. Подготовка. Это стадия расширения кругозора, накапливания знаний и формулирования проблемы.
2. Инкубация. На этом этапе мысль свободно блуждает в голове, постепенно приобретая очертания.
3. Озарение. Кульминация всего процесса, мысль оформилась и превратилась в конкретную идею.
4. Верификация. Любая такая идея должна в конце пройти проверку на адекватность.

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

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

Идеи могут рождаться везде — в поездах, как у Ролана Барта, или в горячей ванне, как у Вирджинии Вульф. Могут возникать по невнимательности, как у Антуана де Сент-Экзюпери, который писал о «плодотворной ошибке», или из привычки, как у Иммануила Канта, которому был очень важен строгий порядок для написания своих философских трудов. А могут и из случайности, как произошло с открытием пенициллина или спутника Плутона.

Главный вывод статьи заключается в том, что идеи - это вирусные элементы, «блуждающие в воздухе», как когда-то сказал Энди Уорхол. Поэтому процесс возникновения новых идей — это невероятная смесь намерений, случайности и внимания.
👍13👏3
Нашла на днях интересную визуализацию распределений: какие значения будут получаться, если использовать разное выражение для рандомизации.

Сначала для каждой точки случайным образом выбирается угол от 0 до 360. Потом с помощью функции определяется позиция точки на линии угла.
👍12🥰4
Возвращаю нерегулярные выпуски интересных ссылок! В этот раз три очень разные статьи и две подборки: данных и книг.

🌀 Статья, как оптические иллюзии могут проявляться в визуализациях и обманывать зрителя.

🎨 Подробный гайд по созданию responsive SVG изображений.

🔍 Эссе про незаметные на первый взгляд детали интерактивного дизайна и путь к пониманию их значения.

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

📚 Подборка книг по дизайну для недизайнеров от команды платёжной системы Stripe.
👍8🔥7
​​Как читают древние свитки

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

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

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

15 марта 2023 года исследователи выложили 3D снимки одного из найденных свитков в открытый доступ и объявили конкурс на их расшифровку с призовым фондом в более чем миллион долларов. Среди прочего были и промежуточные призы, например, за первое прочитанное слово (ΠΟΡΦΥΡΑϹ – фиолетовый), так что участники могли пользоваться результатами друг друга. В начале этого года появился и финальный победитель — это команда из трёх парней, которые познакомились на самом конкурсе.

Расшифрованный ими свиток — ранее неизвестное эпикурейское сочинение о природе наслаждения.

Потрясающе интересная история! На сайте конкурса подробно рассказывается и про научные методы, и про следующие этапы работы. А ещё там масса красивых картинок и 3D визуализаций. И сам текст свитка, если захотите его прочитать.

https://scrollprize.org/grandprize
15👍6
​​Коллекция SVG иконок графиков

Я к вам сегодня с релизом небольшого проекта, над которым я неторопливо работала больше года.

Пару лет назад я рассказывала на HolyJS про визуализации, D3.js и React и готовила к этому докладу презентацию. Для неё мне понадобились небольшие иконки разных типов графиков. Ничего нужного мне я в открытом доступе не нашла и в итоге сделала эти иконки сама. Тогда же я подумала, что можно было бы их доработать и выпустить как единую коллекцию.

И вот я эту идею наконец-то реализовала и представляю вам Sparkle Icons!

https://sparkles.slaylines.io

Это коллекция SVG иконок разных графиков. Каждая иконка сделана в трёх вариантах: базовый чёрный, лёгкий чёрный и цветной. Все иконки размера 32x32 пикселя, но нормально смотрятся и уменьшенными или увеличенными. Скачать можно с сайта, как весь архив сразу, так и каждую иконку по-отдельности. Всё под MIT лицензией, то есть можно скачивать, менять и использовать, как захотите.

Буду рада комментариям и идеям!
🔥5612👍4
Интерактивная временная шкала известных людей, живших в разные эпохи с 3его тысячелетия до нашей эры.

https://janwillemtulp.github.io/parallel-lives

Главная идея – сфокусироваться не столько на датах рождения и смерти, сколько на возрасте в разные годы. Данные взяты отсюда. Сама визуализация сделана на D3.js и Svelte.

Если будете смотреть с телефона, то поверните его горизонтально — сайт не адаптирован под узкие размеры экранов: колонка справа обрезается.
14🔥4
Друзья, у меня сейчас будет лично-профессиональное объявление.

❗️Я открываю консультации по созданию визуализаций данных.

Я могу:
— помочь разобраться с данными и требованиями;
— подобрать правильные инструменты и библиотеки;
— дать советы по коду, дизайну или UX;
— собрать прототип или финальный вариант визуализации с выбранными инструментами.

Если вы хотите на такую консультацию, напишите мне в личные сообщения (@gnykka). Мы обсудим, с чем именно вам нужна помощь, и договоримся о дальнейшей работе и условиях.
👍13🔥86
Собрала вчера вечером небольшую образовательную подборку ссылок на выходные:

Визуальная объяснялка, как работают promises в JavaScript.

🎨 Подробный интерактивный гайд по CSS queries.

📊 Сервис, позволяющий превратить Google Sheets в полноценный API для приложения.

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

📰 Простые советы, как улучшить типографику на сайте.
👍143🔥3
​​Недавно я наткнулась на увлекательное видео про визуализацию всех статей английской Википедии.

Существует игра Wikipedia Race или Wiki Game, в которой нужно на скорость найти путь между двумя совершенно разными и как будто бы несвязанными статьями Википедии. Автор визуализации хотел понять, всегда ли можно найти решение для этой игры.

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

Один из самых длинных найденных путей состоит из более чем 160 статей. Этот путь ведет от статьи об атлетике на Арабских играх 1953 года к списку трасс под номером 999. Не знаю, зачем кому-то нужно это знание, но живите теперь с ним!

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

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

В завершение несколько технических деталей:
– Граф сделан на python-igraph с помощью алгоритма Distributed Recursive Layout.
– Сообщества собраны с помощью алгоритма Leiden.
– Учитывались все статьи кроме редиректов и ссылки только в теле статьи.

https://www.youtube.com/watch?v=JheGL6uSF-4
🔥20👍61
Возвращаюсь с новой подборкой!

🌟 Статья Familiar vs Novel исследует вопрос, когда стоит придерживаться привычных решений в дизайне, а когда можно экспериментировать и придумывать новое. Стандартные интерфейсы уже знакомы пользователям, поэтому воспринимаются интуитивно. Но всегда ли это лучший путь?

🎨 Продолжает тему привычного и нового статья How the meaning of colour varies per culture. Основываясь на примерах из разных стран и контекстов, автор раскрывает, как один и тот же цвет может иметь разные ассоциации в различных культурах. Например, красный цвет в Китае символизирует удачу, тогда как на Западе он может означать опасность или стоп-сигнал. Зелёный цвет в исламских странах священен, в то время как в западной культуре он часто связан с природой и экологией. Чёрный способен вызвать чувство опасности, белый символизирует чистоту и мир, а пурпурный и жёлтый — богатство и успех. В статье приведено ещё много примеров с рассуждениями, как можно учесть культурные аспекты в дизайне продуктов для рынков разных стран.

📊 Немного про визуализации, а конкретно про график «ящик с усиками»: I’ve Stopped Using Box Plots. Should You?. Мы привыкли использовать этот график для оценки распределения, но так ли он хорош? Автор приводит примеры, когда «ящик» может ввести в заблуждение, и размышляет, чем именно его можно было бы заменить.

🌐 Большая статья от Google про всё новое, что появилось в web за последний год: The latest in CSS and web UI: I/O 2024 recap. Это, например, поддержка селектора :has(), новый Popover API, анимации, основанные на скролле, или возможность кастомизировать select тег.
👍11
​​Где-то месяц назад мне на Upwork написал один потенциальный клиент, который искал разработчика для 3D визуализации.

Реальным этот клиент так и не стал, но в процессе обсуждений я сделала небольшой прототип на ThreeJS с TweenMax анимациями. Идея прототипа — проверить, насколько эффективно получится нарисовать несколько тысяч интерактивных элементов в пространстве.

Не знаю, насколько этот прототип оказался полезен в итоге, но не пропадать же ему — поделюсь с вами!

https://codepen.io/gnykka/pen/NWVjbQP
🔥25👍1
Нерегулярная подборка ссылок на этой неделе получилась про интересные и необычные примеры.

📝 Amy Goodchild написала очень большую и подробную статью, как с помощью p5.js она оцифровала свой почерк, чтобы использовать его в генеративных проектах.

🔊 Статья учёных Мичиганского университета рассказывает, как можно создать визуальные спектрограммы, выглядящие как обычные изображения, но при этом воспроизводимые как звук.

🎶 Ещё одна статья про музыку, на этот раз — как красиво и с минимумом усилий заверстать ноты с помощью HTML и CSS.

🎮 Статья про визуализацию механик игры Tekken описывает, как можно разбить игровые механики на компоненты и создать карточки для их сравнения.
6🔥6🥰2
​​React Sparklines

Написала вчера подробную статью, как создать компонент для рисования спарклайнов на Typenoscript и React без использования каких-либо зависимостей, только с помощью SVG. И как с помощью ResizeObserver сделать их автоматически подстраиваемыми под размер родителя.

Читать тут 👉 https://dev.to/gnykka/how-to-create-a-sparkline-component-in-react-4e1
👍85🔥4