Страница 7 из 8
– Используется `display(HTML(fig.to_html()))`, чтобы отобразить интерактивный график внутри ячейки Jupyter Notebook.
Таким образом, вы можете взаимодействовать с данными, изменять масштаб, выделять области и другие действия прямо внутри Jupyter Notebook, что делает визуализацию данных более удобной и информативной.
6. Встроенные цветовые карты:
Matplotlib предоставляет широкий выбор цветовых карт для лучшего представления данных. От дискретных цветовых карт до плавных переходов, библиотека предоставляет разнообразные опции.
Давайте рассмотрим пример использования различных цветовых карт в Matplotlib. В этом примере мы создадим тепловую карту, используя различные цветовые карты для лучшего представления данных.
```python
import matplotlib.pyplot as plt
import numpy as np
# Создаем данные для тепловой карты
data = np.random.random((10, 10))
# Список цветовых карт для использования
colormaps = ['viridis', 'plasma', 'magma', 'inferno', 'cividis']
# Создаем подграфики для каждой цветовой карты
fig, axes = plt.subplots(1, len(colormaps), figsize=(15, 3))
# Строим тепловую карту для каждой цветовой карты
for i, cmap in enumerate(colormaps):
im = axes[i].imshow(data, cmap=cmap)
axes[i].set_title(f'Цветовая карта: {cmap}')
fig.colorbar(im, ax=axes[i], orientation='vertical', fraction=0.046, pad=0.04)
# Регулируем расположение графиков
plt.tight_layout()
# Показываем графики
plt.show()
```
В этом примере:
– Мы создаем случайные данные для тепловой карты с использованием NumPy.
– Затем мы строим тепловые карты для различных цветовых карт (`viridis`, `plasma`, `magma`, `inferno`, `cividis`).
– Для каждой цветовой карты добавляем шкалу цветов.
Этот пример демонстрирует разнообразие цветовых карт в Matplotlib, отличающихся как по цветовому спектру, так и по контрасту. Выбор подходящей цветовой карты может улучшить восприятие данных на графиках.
В Matplotlib существует множество цветовых карт. Вы можете получить актуальный список цветовых карт, вызвав функцию `plt.colormaps()`.
Практическое задание
Задача: Мониторинг изменений температуры на глобальной карте
Описание:
Вам предоставлены данные о температуре в различных регионах мира за последние несколько лет. Ваша задача – визуализировать эти данные на глобальной карте с использованием цветовых карт для наглядного отображения изменений температуры.
1. Подготовка данных:
– Загрузите данные о температуре в различных регионах мира. Данные могут включать временные метки, широту, долготу и значения температуры.
2. Выбор Цветовой Карты:
– Выберите цветовую карту, которая лучше всего подходит для отображения изменений температуры. Например, можно использовать цветовую карту типа `coolwarm` для выделения разницы между холодными и теплыми областями.
3. Построение Глобальной Карты:
– Используя библиотеку Matplotlib, постройте глобальную карту, на которой цветами будет представлена температура в различных регионах. Широта и долгота могут быть представлены на осях X и Y, а цветом можно отображать температурные значения.
4. Добавление Интерактивности:
– Добавьте интерактивность к карте, чтобы пользователи могли навигировать по временной оси и наблюдать изменения температуры в различные периоды.
5. Анимация (опционально):
– Если у вас есть временные данные, рассмотрите возможность добавления анимации для визуализации динамики изменений температуры в течение времени.
6. Сохранение и Публикация:
– Сохраните визуализацию в удобных форматах (например, PNG или GIF) для возможности вставки в презентации, отчеты или веб-страницы.
7. Анализ и Интерпретация:
– Проанализируйте глобальную карту температурных изменений и сделайте выводы о тенденциях в изменениях температуры в различных регионах мира.
Эта задача не только поможет вам понять, как применять цветовые карты для визуализации данных, но и позволит вам рассмотреть вопросы глобального мониторинга изменений температуры.
Решение данной задачи может включать использование библиотеки Matplotlib в языке программирования Python. Приведенный ниже код демонстрирует пример создания глобальной карты температурных изменений с использованием цветовой карты `coolwarm`. Предполагается, что данные о температуре уже загружены в соответствующий формат.
```python
import matplotlib.pyplot as plt
import numpy as np
# Подготовка данных (пример)
latitudes = np.random.uniform(low=-90, high=90, size=(1000,))
longitudes = np.random.uniform(low=-180, high=180, size=(1000,))
temperatures = np.random.uniform(low=-20, high=40, size=(1000,))
# Выбор цветовой карты
cmap = 'rainbow_r'
# Построение глобальной карты
fig, ax = plt.subplots(figsize=(12, 6))
scatter = ax.scatter(longitudes, latitudes, c=temperatures, cmap=cmap, s=50, alpha=0.7)
plt.colorbar(scatter, label='Temperature (°C)')
# Добавление интерактивности (подписи и т.д.)
# Настройка внешнего вида карты (опционально)
# Сохранение и отображение
plt.savefig('global_temperature_map.png')
plt.show()
```
Этот код создает точечный график на глобальной карте, где каждая точка представляет собой регион с определенными координатами и температурой. Цвет точек отражает температурные значения с использованием цветовой карты `coolwarm`. Пользователь может легко настраивать параметры визуализации, добавлять интерактивность и адаптировать код под свои конкретные потребности.
7. Темы оформления (Styles):
Matplotlib включает в себя различные темы оформления, которые изменяют внешний вид всех графиков на одной или нескольких диаграммах. Это позволяет легко сменить общий стиль графиков в проекте.
Рассмотрим пример использования различных тем оформления в библиотеке Matplotlib:
```python
import numpy as np
import matplotlib.pyplot as plt
# Создание данных для примера
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# Пример использования различных тем оформления
plt.figure(figsize=(12, 6))
# Стандартная тема оформления
plt.subplot(2, 2, 1)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.title('Стандартная тема оформления')
plt.legend()
# Тема "seaborn"
plt.subplot(2, 2, 2)
plt.style.use('seaborn')
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.title('Тема "seaborn"')
plt.legend()
# Тема "ggplot"
plt.subplot(2, 2, 3)
plt.style.use('ggplot')
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.title('Тема "ggplot"')
plt.legend()
# Тема "dark_background"
plt.subplot(2, 2, 4)
plt.style.use('dark_background')
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.title('Тема "dark_background"')
plt.legend()
plt.tight_layout()
plt.show()
```
В этом примере мы использовали четыре различные темы оформления:
1. Стандартная тема оформления (Classic): Это базовая тема оформления, которая используется по умолчанию.
2. Тема "seaborn": Эта тема придает графикам более современный и стильный внешний вид.
3. Тема "ggplot": Эта тема имитирует стиль графиков, используемый в пакете ggplot2 в языке программирования R.
4. Тема "dark_background": Эта тема предоставляет темный фон, что может быть полезным для создания графиков с яркими цветами на темном фоне.