Концепция
Вселенная Звёздные войны кажется тщательно продуманным миром, где у каждого персонажа есть своя история, происхождение и место в общем повествовании. Мы запоминаем героев по их поступкам и характеру, но за кадром остаётся другой слой — набор чисел, описывающих их физические параметры и биологические особенности. Рост, вес, пол, раса, планета происхождения — всё это редко воспринимается как данные, хотя именно они формируют структуру вымышленной галактики.
В этом проекте я обращаюсь к «Звёздным войнам» как к набору данных и пытаюсь взглянуть на знакомых персонажей с аналитической точки зрения. Мне интересно, существуют ли закономерности в физических характеристиках жителей разных планет, отличаются ли герои различных рас по росту и массе, и насколько разнообразной на самом деле является эта вселенная, если измерять её цифрами, а не сюжетами.
Интуитивно кажется, что ключевые персонажи франшизы довольно похожи друг на друга — большинство из них гуманоиды со схожими пропорциями. Однако анализ данных позволяет проверить это ощущение и посмотреть, не скрывается ли за визуальным сходством более сложная картина. Визуализация помогает вынести эти различия на поверхность, превращая сухие таблицы в наглядные образы и сравнения.
Данные для анализа
Для анализа в проекте используется датасет с платформы Kaggle, содержащий данные о персонажах вселенной Звёздные войны. Набор данных представляет собой таблицу с описательными характеристиками персонажей и включает информацию об их росте и весе, поле, виде, планете происхождения, цвете кожи, глаз и волос, а также дополнительных атрибутах, связанных с появлением в фильмах и использовании транспорта.
ВОПРОС ИССЛЕДОВАНИЯ:
Можно ли с помощью анализа и визуализации данных о персонажах вселенной Звёздные войны выявить закономерности в их физических характеристиках и происхождении и понять, насколько разнообразной и структурированной является эта вымышленная галактика?
Для визуализации данных о персонажах вселенной Звёздные войны были выбраны несколько типов графиков, позволяющих рассмотреть набор данных с разных сторон.
Круговые диаграммы (pie charts) используются для отображения долей категориальных признаков, таких как распределение персонажей по полу, видам или планетам происхождения. Такой формат наглядно показывает, какие группы доминируют в датасете и насколько он сбалансирован.
Столбчатые диаграммы применяются для сравнения количественных показателей между категориями — например, среднего роста или веса персонажей разных видов и планет. Они позволяют быстро выявить различия и сопоставить группы между собой.
Гистограммы используются для анализа распределения числовых характеристик. С их помощью можно оценить типичные значения, разброс данных и наличие экстремальных или выбивающихся наблюдений.
Точечная диаграмма применяется для исследования взаимосвязи между числовыми параметрами, в частности между ростом и весом персонажей. Она помогает визуально определить наличие корреляций, кластеров и аномалий внутри набора данных.
В визуализации и оформлении проекта использован фирменный жёлтый цвет #FFE81F, вдохновлённый культовыми титрами вселенной «Звёздные войны», а также фанатский креолизированный шрифт Star Wars Demolition Level, который имитирует стиль оригинальных заголовков фильмов и придаёт проекту атмосферу галактики.
Анализ и визуализация данных
Импорт библиотек и загрузка данных
Импорт библиотек (pandas, numpy, matplotlib, seaborn) и модулей для работы с путями и шрифтами. Отключение предупреждений. В Google Colab загружается CSV-файл с данными и читается в DataFrame. Затем загружается файл шрифта и формируется путь к нему для использования в визуализациях.
Предобработка данных
Копирование исходного DataFrame, преобразование столбцов height и mass в числовой формат с обработкой ошибок, заполнение пропусков медианными значениями. Создание словарей для перевода на русский язык категорий species, homeworld, gender и eye_color, с применением их для новых столбцов (_ru). Добавление столбца creature_type для разделения на дроидов и биологические виды, а также force_affiliation для маркировки пользователей Силы на основе списка имён.
Настройка стиля визуализации
Импорт matplotlib и добавление кастомного шрифта из ранее загруженного файла. Определение словаря цветов в тематике Star Wars (например, золото джедаев, красный ситхов). Обновление глобальных параметров rcParams для фигур: размер, цвета фона, отсутствие сетки и осей, белые метки. Создание функции style_starwars_plot для кастомизации осей графика: установка заголовка и меток с заданными шрифтами, цветами и отступами, скрытие тиков, тёмный фон.
Визуализация распределения типов существ и аффилиации с Силой
Подсчёт значений в столбцах creature_type и force_affiliation. Создание фигуры с двумя подграфиками для круговых диаграмм (pie charts): слева — доля биологических видов vs дроидов, справа — пользователей Силы vs обычных существ. Применение кастомных цветов, автотекстов с процентами и количествами, жирных шрифтов, тёмного фона и общего супертитула на русском. Отображение графика.
Визуализация топ-8 самых распространенных видов
Подсчёт топ-8 видов из species_ru, создание горизонтальной бар-чарты с кастомными цветами (синий мятежников, золотой джедаев), метками значений на барах. Добавление текста с общим числом уникальных видов и долей людей, применение стиля style_starwars_plot, тёмный фон и отображение.
Анализ корреляции роста и массы персонажей
Фильтрация данных на персонажей с массой >500 кг и ростом <250 см (возможно, для выделения outliers). Создание scatter plot с точками по видам (Человек, Дроид, Вуки и другие), кастомными цветами, размерами и альфой. Добавление легенды, расчёт корреляции роста и массы, отображение её в тексте с боксом, применение стиля style_starwars_plot и показ графика.
Визуализация топ-7 родных миров персонажей
Подсчёт топ-7 значений из homeworld_ru, создание бар-чарты с кастомными цветами (зелёный световой меч, песок Татуина и т.д.), белыми краями, поворотом меток осей. Добавление текстовых меток значений на барах золотым цветом, применение стиля style_starwars_plot с заголовком и метками осей на русском, отображение графика.
Визуализация распределения персонажей по росту
Создание гистограммы распределения значений роста из height с 20 бинами, синим цветом светового меча, золотыми краями и прозрачностью. Вычисление и добавление линий среднего (красный, пунктир) и медианного (зелёный, пунктир) роста с метками на русском. Применение стиля style_starwars_plot с заголовком и метками осей на русском, добавление легенды в чёрно-золотом стиле, сжатие макета и отображение графика.




