Декілька Лінійних Графіків
Часто виникає необхідність створювати кілька лінійних графіків на одному об'єкті Axes
для порівняння різних тенденцій або закономірностей. Це можна зробити двома основними способами. Ось перший підхід.
Наведено зразок середньорічних температур (у F) для Сіетла та Бостона:
import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' # Loading the dataset with the average yearly temperatures in Boston and Seattle weather_df = pd.read_csv(url, index_col=0) print(weather_df.head())
Для порівняння даних Сіетла та Бостона буде використано два лінійних графіки.
Перший варіант
Функція plot()
використовується двічі для створення двох окремих лінійних графіків на одному об'єкті Axes
. Зверніть увагу, що індекси об'єкта pandas
Series
використовуються як значення осі x — у цьому прикладі роки виступають індексами.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv', index_col=0) # Calling the plot() function for each of the line plots plt.plot(weather_df['Boston'], '-o') plt.plot(weather_df['Seattle'], '-o') plt.show()
Другий варіант
У цьому прикладі функція plot()
викликається лише один раз. Оскільки маркери вказані для обох рядів даних, matplotlib
інтерпретує їх як два окремих графіки та використовує індекси Series як значення осі x.
Якщо маркери не вказані, функція створює лише один графік, використовуючи перший об'єкт pandas
Series
для осі x та другий для осі y.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv', index_col=0) # Calling the plot() function once for two line plots plt.plot(weather_df['Boston'], '-o', weather_df['Seattle'], '-o') plt.show()
Третій варіант
Ще один спосіб створити кілька лінійних графіків за один виклик — передати всю DataFrame безпосередньо у функцію plot()
.
У цьому випадку matplotlib
автоматично розглядає кожен стовпець DataFrame як окремий лінійний графік. Індекс DataFrame використовується для осі x, а значення кожного стовпця відображаються по осі y.
Цей підхід зручний, коли потрібно швидко візуалізувати кілька ознак за спільним індексом (наприклад, час або категорії), без необхідності вручну викликати plot()
для кожної з них.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv', index_col=0) # Calling the plot() function for whole DataFrame plt.plot(weather_df, '-o') plt.show()
Досліджуйте ще більше можливостей лінійних графіків за допомогою plot()
документації функції.
Swipe to start coding
- Використання відповідної функції для створення 2 лінійних графіків.
- Передача
data_linear
як аргументу у першу функцію побудови графіка, без використання маркерів. - Передача
data_squared
як аргументу у другу функцію, використання маркерів'o'
із суцільною лінією.
Рішення
Дякуємо за ваш відгук!