
Введение
Данные и их источник
Для анализа и визуализации я выбрал данные о наблюдениях НЛО. Эти данные были взяты из файла UFOs_coord.xlsx, который содержит информацию о различных наблюдениях НЛО, включая дату и время наблюдения, страну, город, штат, форму объекта, координаты (широту и долготу) и краткое описание наблюдения. Источник данных — National UFO Reporting Center (NUFORC), который с 1974 года занимается сбором и каталогизацией сообщений о наблюдениях НЛО.
Актуальность
Анализ данных о наблюдениях НЛО представляет особый интерес по нескольким причинам:
1. Мистический и необъяснимый характер: НЛО и связанные с ними явления всегда привлекали внимание и вызывали интерес как у исследователей, так и у широкой публики. Изучение этих данных может помочь выявить определенные закономерности и тенденции в наблюдениях, что может пролить свет на природу этих явлений.
2. Географическое распределение: Интересно узнать, в каких странах и регионах мира чаще всего фиксируются наблюдения НЛО. Это может помочь выявить области с повышенной активностью и, возможно, определить причины такого распределения.
3. Временные паттерны: Анализ временных данных (по месяцам и дням недели) может показать, существуют ли определенные сезоны или дни, когда наблюдения НЛО происходят чаще. Это может быть полезно для понимания, связаны ли такие наблюдения с определенными климатическими условиями или социальными факторами.
4. Формы объектов: Изучение форм наблюдаемых объектов может помочь в классификации и сравнении различных типов НЛО. Это может также способствовать лучшему пониманию их природы и происхождения.
Типы графиков и причины их выбора
Для визуализации данных я выбрал следующие типы графиков:
1. Круговая диаграмма для распределения наблюдений по странам. Этот тип диаграммы наглядно показывает долю наблюдений в каждой стране, что позволяет легко сравнивать их между собой.
2. Горизонтальная столбчатая диаграмма для распределения наблюдений по формам объектов. Столбчатые диаграммы удобны для сравнения количественных данных между различными категориями, в данном случае — формами НЛО.
3. Карта для географической визуализации мест наблюдений с использованием Plotly. Карта позволяет наглядно представить географическое распределение наблюдений, что помогает выявить регионы с наибольшей активностью.
4. Линейные графики для анализа распределения наблюдений по месяцам и дням недели. Линейные графики удобны для отображения временных рядов и позволяют легко увидеть изменения и тенденции в данных.
5. Облако слов для анализа текстовых описаний наблюдений. Облако слов помогает визуализировать наиболее часто встречающиеся слова в текстовых данных, что позволяет выявить ключевые темы и термины, используемые в описаниях.
Этапы работы
Обработка данных
Для начала работы с данными о наблюдениях НЛО были выполнены следующие этапы обработки:
import pandas as pd
- Загрузка данных
file_path = 'UFOs_coord.xlsx' data = pd.read_excel (file_path)
- Добавление столбцов с месяцем и днем недели
data['Date / Time'] = pd.to_datetime (data['Date / Time'], format='%m/%d/%Y %H: %M', errors='coerce') data['Month'] = data['Date / Time'].dt.month data['DayOfWeek'] = data['Date / Time'].dt.day_name ()
Стилизация графиков
Для создания консистентной и стилизованной визуализации были применены следующие подходы:
import matplotlib.pyplot as plt
- Цветовая палитра
colors = { 'background': '#2c3e50', # Темно-синий цвет 'primary': '#1f5c4d', # Зеленовато-синий цвет 'secondary': '#f47a30', # Ярко-оранжевый цвет 'tertiary': '#fa9d28', # Светло-оранжевый цвет 'quaternary': '#ffcf55', # Желтовато-оранжевый цвет 'text': '#000000' # Черный цвет для текста }
- Настройка общего стиля графиков
plt.style.use ('seaborn-v0_8-darkgrid')
- Настройка стиля фона и текста
plt.rcParams['axes.facecolor'] = colors['background'] plt.rcParams['savefig.facecolor'] = 'white' # Устанавливаем белый цвет фона для сохраненных изображений plt.rcParams['figure.facecolor'] = 'white' # Устанавливаем белый цвет фона фигуры plt.rcParams['text.color'] = colors['text'] plt.rcParams['axes.labelcolor'] = colors['text'] plt.rcParams['xtick.color'] = colors['text'] plt.rcParams['ytick.color'] = colors['text'] plt.rcParams['grid.color'] = colors['background'] # Устанавливаем цвет сетки таким же как и цвет фона
Использование референсных картинок и источников вдохновения
Для стилизации и создания графиков были применены общие принципы дизайна и цветовые решения, а также референс в виде картинки из интернета.
Итоговые графики