Рубрики
Без рубрики

Подзаголовки Matplotlib – Построение Нескольких Графиков С Использованием Matplotlib

В этой статье мы узнаем, как создавать подзаголовки Matplotlib.

Автор оригинала: Pankaj Kumar.

В этой статье мы узнаем, как создавать подзаголовки Matplotlib.

На практике нам часто требуется более одного графика, чтобы визуализировать переменные, именно тогда в картину вступают подзаголовки. Метод подзаголовка Matplotlib – это удобная функция, предоставляемая для создания более одного графика на одном рисунке.

Создание базового графика С помощью Matplotlib

Создание графика в Matplotlib-простая задача, и ее можно выполнить с помощью одной строки кода вместе с некоторыми входными параметрами. В приведенном ниже коде показано, как сделать простой график с одной фигурой.

#Importing required libraries 
import matplotlib.pyplot as plt
import numpy as np

#Create data
data = np.arange(1,5,1)

#Plotting the data:
plt.plot(data)
Простое построение Графика

plt.plot() отображает линейный график входных данных.

Создание Подзаголовков Matplotlib

Теперь подумайте о ситуации, когда нам нужно иметь несколько графиков для объяснения наших данных. Например, у нас есть набор данных с температурой и количеством осадков в качестве переменных, и нам нужно визуализировать эти данные.

Одна вещь, которая приходит на ум, – это построить обе переменные на одном графике, но шкала измерения температуры (Кельвин) отличается от шкалы количества осадков(мм).

Здесь нам нужен отдельный сюжет для обоих, чтобы иметь визуальную интерпретацию. Подзаголовок Matplotlib-это то, что нам нужно для создания нескольких сюжетов, и мы собираемся подробно изучить это.

1. Использование метода subplots()

Давайте посмотрим на использование matplotlib.subplots|/.

Метод matplotlib subplots() требует в качестве входного аргумента несколько строк и несколько столбцов и возвращает объект figure и объект axes.

Доступ к каждому объекту оси можно получить с помощью простой индексации. И после выбора необходимых осей для построения графика процедура построения графика будет следовать своим обычным курсом, как мы это делали в приведенном выше коде.

Давайте создадим 4 подзаголовка, расположенных в виде сетки.

#Importing required libraries
import matplotlib.pyplot as plt

# Creates fig and ax from subplots().
fig , ax = plt.subplots(nrows = 2, ncols = 2)
4 Подзаголовка

2. Доступ к подзаголовкам

Доступ к отдельным осям очень прост. Давайте построим несколько графиков на первом и последнем подзаголовке.

import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

#Loading Dataset
data = load_iris()
df = data.data

fig , ax = plt.subplots(nrows = 2, ncols = 2, figsize=(8,6))

#Plotting on the 1st axes
ax[0][0].scatter(df[:,0],df[:,1] , color = 'black')

#Plotting on the last axes
ax[1][1].scatter(df[:,1],df[:,2] , color = 'red')
Доступ К 1-Му И 4-Му Подзаголовкам

Думайте о каждой оси как о некоторых объектах, расположенных в 2D-массиве, доступ к каждому подзаголовку аналогичен доступу к элементам из 2D-массива.

  • ax[0][0] означает, что мы сначала выбрали первую строку (индекс 0) и первый элемент из этой строки (индекс 0).
  • ax[1][1] означает, что мы сначала выбрали вторую строку (индекс 1) и второй элемент из этой строки (индекс 1).

3. Подзаголовки Matplotlib с общей осью

Во многих приложениях нам нужно, чтобы оси подзаголовков были выровнены друг с другом. Метод matplotlib subplots() принимает еще два аргумента, а именно sharex и sharey , так что все оси подзаголовков имеют одинаковый масштаб.

#Import required libraries
import matplotlib.pyplot as plt

#Plotting
fig, ax = plt.subplots(2, 3, sharex=True, sharey=True)
for i in range(0,2):
    for j in range(0,3):
        ax[i][j].text(0.5, 0.5, str((i,j)),fontsize=18, ha='center')
Подзаголовок С Общей Осью 1

4. Использование метода add_subplot()

add_subplot является атрибутом объекта Matplotlib figure . Он используется всякий раз, когда мы хотим добавить подзаголовки к нашему рисунку один за другим.

Давайте продемонстрируем это на примере кода.

#Importing libraries
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

#Loading Data to plot
data = load_iris()
df = data.data

#Create a figure object
fig = plt.figure(figsize=(8,8))

#Adding one subplot to the figure
ax_1 = fig.add_subplot(2, 2, 1) #selecting 1st out of 4 subplots 
ax_1.scatter(df[:,0],df[:,1] , color = 'black')

#Adding one more subplot
ax_2 = fig.add_subplot(2,2,4)
ax_2.scatter(df[:,0],df[:,1] , color = 'red')
Добавление Подзаголовков Один За Другим

В приведенном выше коде атрибут add_subplot объекта figure требует в качестве входного аргумента несколько строк и столбцов, а также индекс подзаголовка.

Но здесь вместо того, чтобы индексировать подзаголовки в виде 2D-массивов, нам просто нужно передать целое число, похожее на число рисунка.

рис.add_subplot(2, 2, 1) в приведенном выше коде сначала будет создана сетка подзаголовков 2×2 и возвращен объект 1-го подзаголовка, на котором мы можем построить наши данные.

Вывод

В этой статье мы рассмотрели, как мы можем визуализировать данные на нескольких графиках на одном рисунке, использование метода subplots и количество способов создания подзаголовков.

Счастливого Обучения!