Как изобразить графики зависимостей через pyplot
Привет! Меня зовут Артем‚ и сегодня я расскажу тебе о том‚ как использовать библиотеку pyplot‚ чтобы изобразить графики зависимостей․Для начала нам понадобится некоторые данные․ У нас есть таблица с информацией о поездках‚ в которой есть⁚
— vendor_id⁚ идентификатор поставщика услуги
— passenger_count⁚ количество пассажиров
— store_and_fwd_flag⁚ флаг переноса информации о поездке
— distance_km⁚ расстояние поездки в километрах
— log_trip_duration⁚ логарифм длительности поездки
— pickup_datetime⁚ дата и время начала поездки
— dateday_of_week⁚ день недели
— hour⁚ час начала поездки
— month⁚ месяц начала поездки
Наша задача ‒ построить графики зависимости количества поездок и средней продолжительности поездки от дня недели и времени суток‚ а также проследить эти зависимости для каждого месяца․Для начала‚ давайте построим графики ″Количество поездок / Средняя продолжительность поездки vs День недели″ и ″Количество поездок / Средняя продолжительность поездки vs Время суток″․ Для этого мы можем воспользоваться функцией plot из pyplot⁚
python
import matplotlib․pyplot as plt
# Ваши данные
# (предположим‚ что у вас есть два массива⁚ trips_by_weekday и average_duration_by_weekday)
trips_by_weekday [100‚ 130‚ 120‚ 150‚ 160‚ 140‚ 110]
average_duration_by_weekday [15‚ 18‚ 16‚ 20‚ 22‚ 17‚ 14]
# Построение графика ″Количество поездок / Средняя продолжительность поездки vs День недели″
plt․plot(trips_by_weekday‚ label’Количество поездок’)
plt․plot(average_duration_by_weekday‚ label’Средняя продолжительность поездки’)
plt․xlabel(‘День недели’)
plt․ylabel(‘Значение’)
plt․legend
# Построение графика ″Количество поездок / Средняя продолжительность поездки vs Время суток″
# (предположим‚ что у вас есть два массива⁚ trips_by_time и average_duration_by_time)
trips_by_time [200‚ 220‚ 240‚ 230‚ 210‚ 190‚ 180‚ 220‚ 250‚ 230‚ 210‚ 190]
average_duration_by_time [16‚ 18‚ 20‚ 22‚ 24‚ 23‚ 21‚ 19‚ 17‚ 15‚ 14‚ 16]
plt․figure # Создание новой фигуры для второго графика
plt․plot(trips_by_time‚ label’Количество поездок’)
plt․plot(average_duration_by_time‚ label’Средняя продолжительность поездки’)
plt․xlabel(‘Время суток’)
plt․ylabel(‘Значение’)
plt․legend
plt․show # Отображение графиков
Теперь у нас есть два графика⁚ ″Количество поездок / Средняя продолжительность поездки vs День недели″ и ″Количество поездок / Средняя продолжительность поездки vs Время суток″․Далее нам нужно построить графики ″Средняя продолжительность поездки vs Время суток для каждого дня недели″ и аналогичные графики для каждого месяца․ Для этого мы можем воспользоваться функцией subplots из pyplot⁚
python
import numpy as np
# Ваши данные
# (предположим‚ что у вас есть массивы с данными для каждого дня недели и месяца)
average_duration_by_day_and_time np․random․randn(7‚ 12) # Пример случайных данных для каждого дня недели и времени суток
average_duration_by_month_and_time np․random․randn(12‚ 24) # Пример случайных данных для каждого месяца и времени суток
# Построение графиков ″Средняя продолжительность поездки vs Время суток для каждого дня недели″
fig‚ axs plt․subplots(7) # Создание 7 графиков для каждого дня недели
for i‚ ax in enumerate(axs)⁚
ax․plot(average_duration_by_day_and_time[i])
ax․set_xlabel(‘Время суток’)
ax․set_ylabel(‘Средняя продолжительность поездки’)
ax․set_title(‘День недели {}’․format(i 1))
plt․tight_layout # Улучшение расположения графиков на странице
# Построение графиков ″Средняя продолжительность поездки vs Время суток для каждого месяца″
fig‚ axs plt․subplots(4‚ 3) # Создание 12 графиков для каждого месяца
for i‚ ax in enumerate(axs․flat)⁚
ax․plot(average_duration_by_month_and_time[i])
ax․set_xlabel(‘Время суток’)
ax․set_ylabel(‘Средняя продолжительность поездки’)
ax․set_title(‘Месяц {}’․format(i 1))
plt․tight_layout # Улучшение расположения графиков на странице
plt․show # Отображение графиков
Теперь у нас есть графики ″Средняя продолжительность поездки vs Время суток для каждого дня недели″ и аналогичные графики для каждого месяца;Наконец‚ давайте построим ″Ящики с усами″ для различных параметров⁚ времени суток‚ дня недели и месяца․ Для этого мы можем использовать функцию boxplot из pyplot⁚
python
# Ваши данные
# (предположим‚ что у вас есть массивы с данными для каждого параметра⁚ by_time‚ by_weekday‚ by_month)
by_time [[1‚ 2‚ 3‚ 4‚ 5]‚ [2‚ 3‚ 4‚ 5‚ 6]‚ [3‚ 4‚ 5‚ 6‚ 7]‚ [4‚ 5‚ 6‚ 7‚ 8]] # Пример случайных данных для времени суток
by_weekday [[1‚ 2‚ 3‚ 4‚ 5]‚ [2‚ 3‚ 4‚ 5‚ 6]‚ [3‚ 4‚ 5‚ 6‚ 7]‚ [4‚ 5‚ 6‚ 7‚ 8]] # Пример случайных данных для дня недели
by_month [[1‚ 2‚ 3‚ 4‚ 5]‚ [2‚ 3‚ 4‚ 5‚ 6]‚ [3‚ 4‚ 5‚ 6‚ 7]‚ [4‚ 5‚ 6‚ 7‚ 8]] # Пример случайных данных для месяца
# Построение ″Ящиков с усами″ для различных параметров
plt․figure # Создание новой фигуры
plt․boxplot(by_time)
plt․xticks([1‚ 2‚ 3‚ 4]‚ [‘1-6 часов’‚ ‘7-12 часов’‚ ’13-18 часов’‚ ’19-24 часов’])
plt․xlabel(‘Время суток’)
plt․ylabel(‘Значение’)
plt․title(‘Время суток’)
plt․figure # Создание новой фигуры
plt․boxplot(by_weekday)
plt․xticks([1‚ 2‚ 3‚ 4]‚ [‘Пн’‚ ‘Вт’‚ ‘Ср’‚ ‘Чт’‚ ‘Пт’])
plt․xlabel(‘День недели’)
plt․ylabel(‘Значение’)
plt․title(‘День недели’)
plt․figure # Создание новой фигуры
plt․boxplot(by_month)
plt․xticks([1‚ 2‚ 3‚ 4]‚ [‘Янв’‚ ‘Фев’‚ ‘Мар’‚ ‘Апр’])
plt․xlabel(‘Месяц’)
plt․ylabel(‘Значение’)
plt․title(‘Месяц’)
plt․show # Отображение графиков
Теперь у нас есть графики ″Ящики с усами″ для каждого параметра⁚ времени суток‚ дня недели и месяца․
Я надеюсь‚ что данная информация о графиках зависимостей с помощью pyplot была полезной для тебя․ Удачного дальнейшего изучения и успешной визуализации данных!