Лабораторная работа №4: Основы визуализации с Matplotlib
Цель: Перейти от построения графиков "в одну строку" к профессиональному объектно-ориентированному подходу (OOP). Мы научимся управлять объектами Figure и Axes, строить базовые графики для анализа данных и компоновать их на одной подложке.
Инструменты:
- Python 3
- Matplotlib (pyplot)
- Pandas (для подготовки данных)
- Scikit-learn (для загрузки датасета Iris)
Часть 1: Линейный график и Анатомия (OOP Style)
Мы моделируем данные с температурных датчиков сервера.
Важно
Используйте методы объекта ax, а не plt. Это ключевое отличие объектно-ориентированного подхода.
Задача:
- Создать массив
time(часы от 0 до 24). - Создать два массива температур:
temp_server_aиtemp_server_b(сгенерированы случайно, но с трендом). - Построить график, используя
plt.subplots(). - Добавить: Заголовок, Подписи осей, Легенду, Сетку.
Часть 2: Scatter Plot (Поиск зависимостей)
Используем классический датасет Iris. Посмотрим, есть ли связь между длиной и шириной чашелистика (sepal).
Задача:
- Загрузить датасет.
- Построить Scatter plot: по оси X —
sepal length, по оси Y —sepal width. - Раскрасить точки в зависимости от вида цветка (
c=target).
Часть 3: Гистограмма и Boxplot (Распределения)
Анализируем, как распределена длина лепестка (petal length).
Задача:
Построить Гистограмму для petal length. Поэкспериментируйте с параметром bins (количество корзин).
Часть 4: Subplots (Компоновка)
Высший пилотаж — собрать дашборд из 4-х графиков на одной картинке.
Задача:
- Создать сетку 2x2 (
nrows=2, ncols=2). - Разместить графики в ячейках:
[0, 0]: Line Plot (Температуры из части 1).[0, 1]: Scatter Plot (Iris из части 2).[1, 0]: Histogram (Petal Length).[1, 1]: Пустой (или любой другой эксперимент).
Секрет аккуратной верстки
Магия: автоматическое выравнивание отступов достигается с помощью вызова plt.tight_layout() перед plt.show(). Это предотвратит наложение элементов друг на друга.