Автор оригинала: 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)
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')
Думайте о каждой оси как о некоторых объектах, расположенных в 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')
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
и количество способов создания подзаголовков.
Счастливого Обучения!