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

Содержание

  • Начало работы с Matplotlib
  • Установка Matplotlib для визуализации данных
  • Предварительный просмотр данных с помощью Pyplot в Matplotlib
  • Базовое построение графиков с помощью Matplotlib: пошаговые примеры
  • Руководство по настройке и стилю Matplotlib
  • Понимание основных компонентов Matplotlib: фигуры и осей
  • Расширенное построение графиков: методы визуализации вложенных графиков
  • Сохранение графиков Matplotlib с помощью savefig()

Начало работы с Мatplotlib

Matplotlib — это универсальная и широко используемая библиотека визуализации данных на Python.Она позволяет пользователям создавать статические, интерактивные и анимированные изображения.

Библиотека построена на основе NumPy, что делает ее эффективной для работы с наборами заданных данных. Эта библиотека построена на основе массивов NumPy и состоит из нескольких графиков, таких как линейная диаграмма, гистограмма и т. д. Она обеспечивает большую гибкость, но требует написания большего количества кода.

Установка Matplotlib для визуализации данных

Мы будем использовать команду pip для установки этого модуля.Если у вас не установлен пункт, обратитесь к статье. Загрузите и установите полную версию pip.

Чтобы установить Matplotlib, введите в терминале приведенную ниже команду.

pip установить matplotlib

установить matplotlib

Мы также можем установить matplotlib в Jupyter Notebook и Google Colab с помощью той же команды:

установитьpyplot

Установка Matplotlib для визуализации данных

Если вы используете Jupyter Notebook, вы можете установить его в ячейку блокнота с помощью:

!pip установить matplotlib

Data Visualization With Pyplot in Matplotlib

Matplotlib предоставляет модуль под названием pyplot, который предлагает интерфейс, похожий на MATLAB, для создания графиков и диаграмм. Этот процесс создания различных типов визуализации включает набор функций, которые выполняют распространённые задачи по построению графиков.каждая функция в Pyplot изменяет фигуру определенным образом, например:

Ключевые функции Pyplot:

Category Function Description
Plot Creation plot() Creates line plots with customizable styles.
  scatter() Generates scatter plots to visualize relationships.
Graphical Elements bar() Creates bar charts for comparing categories.
  hist() Draws histograms to show data distribution.
  pie() Creates pie charts to represent parts of a whole.
Customization xlabel(), ylabel() Sets labels for the X and Y axes.
  title() Adds a title to the plot.
  legend() Adds a legend to differentiate data series.
Visualization Control xlim(), ylim() Sets limits for the X and Y axes.
  grid() Adds gridlines to the plot for readability.
  show() Displays the plot in a window.
Figure Management figure() Creates or activates a figure.
  subplot() Creates a grid of subplots within a figure.
  savefig() Saves the current figure to a file.

Базовое построение графиков с помощью Matplotlib: пошаговые примеры

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

1. Линейный график

Линейная диаграмма является одним из основных графиков и может быть создана с помощью функции plot() Она используется для представления взаимосвязи между двумя наборами данных X и Y на разных осях.

Синтаксис:

matplotlib.pyplot.plot(\*args, scalex=True, scaley=True, data=None, \*\*kwargs)

Пример:

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Line Chart")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

plt.show()

Выход:

линейная диаграмма matplotlib

2. Столбчатая диаграмма

Столбчатая диаграмма — это график, представляющий категорию данных с помощью прямоугольных столбцов, длина и высота которых пропорциональны значениям, которые они представляют. Столбчатые диаграммы могут быть построены горизонтально или вертикально. Столбчатая диаграмма описывает сравнения между дискретными категориями. Ее можно создать с помощью метода bar().

В примере ниже мы будем использовать набор данных о чаевых. База данных о чаевых — это запись о чаевых, оставленных клиентами ресторана за два с половиной месяца в начале 1990-х годов. Она содержит 6 столбцов: общая сумма счёта, чаевые, пол, официант, день, время, размер.

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
x = data['day']
y = data['total_bill']

# plotting the data
plt.bar(x, y)

# Adding title to the plot
plt.title("Tips Dataset")

# Adding label on the y-axis
plt.ylabel('Total Bill')

# Adding label on the x-axis
plt.xlabel('Day')

plt.show()

Выход:

бар чат matplotlib

3. Гистограмма

Гистограмма в В основном используется для представления данных, представленных в виде некоторых групп. Это тип столбчатой диаграммы, где ось X представляет диапазоны бинов, а ось Y даёт информацию о частоте. Функция hist() используется для вычисления и создания гистограммы x.

Синтаксис:

matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype=’bar’, align=’mid’, orientation=’vertical’, rwidth=None, log=False, color=None, label=None, stacked=False, \*, data=None, \*\*kwargs)

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
x = data['total_bill']

# plotting the data
plt.hist(x)

# Adding title to the plot
plt.title("Tips Dataset")

# Adding label on the y-axis
plt.ylabel('Frequency')

# Adding label on the x-axis
plt.xlabel('Total Bill')

plt.show()

Выход:

хостограмма matplotlib

4. Диаграмма рассеяния

Диаграммы рассеяния используются для наблюдения за отношениями между переменными. Метод scatter() в библиотеке matplotlib используется для построения диаграммы рассеяния.

Синтаксис:

matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
x = data['day']
y = data['total_bill']

# plotting the data
plt.scatter(x, y)

# Adding title to the plot
plt.title("Tips Dataset")

# Adding label on the y-axis
plt.ylabel('Total Bill')

# Adding label on the x-axis
plt.xlabel('Day')

plt.show()

Выход:

диаграмма рассеяния matplotplib

5. Круговая диаграмма

Круговая диаграммаЭта круговая диаграмма используется для отображения только одного ряда данных.Площадь срезов круга представляет собой процентное соотношение частей данных.Кусочки пирога называются клиньями.Его можно создать с помощью метода pie().

Синтаксис:

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
cars = ['AUDI', 'BMW', 'FORD',
        'TESLA', 'JAGUAR',]
data = [23, 10, 35, 15, 12]

# plotting the data
plt.pie(data, labels=cars)

# Adding title to the plot
plt.title("Car data")

plt.show()

Выход:

круговая диаграмма matplotlib

6. Диаграмма ящиков

Ящичковая диаграмма, также известная как диаграмма «усы», — это стандартизированный способ отображения распределения данных на основе сводки из пяти чисел: минимум, первый квартиль (Q1), медиана (Q2), третий квартиль (Q3) и максимум. Она также может отображать выбросы.

Давайте рассмотрим пример создания диаграммы с использованием Matplotlib в Python:

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(10)
data = [np.random.normal(0, std, 100) for std in range(1, 4)]

# Create a box plot
plt.boxplot(data, vert=True, patch_artist=True, 
            boxprops=dict(facecolor='skyblue'),
            medianprops=dict(color='red'))

plt.xlabel('Data Set')
plt.ylabel('Values')
plt.title('Example of Box Plot')
plt.show()

Выход:

ящик-плот

Диаграмма ящиков в Python с использованием Matplotlib

Объяснение:

  • plt.boxplot(data): Создает диаграмму ящиков Аргумент vert=True делает диаграмму вертикальной и patch_artist=True заполняет ящик цветом.
  • boxprops и medianprops: Настройте внешний вид полей и срединных линий соответственно.

Прямоугольник показывает межквартильный размах (IQR), линия внутри прямоугольника показывает медиану, а «усы» простираются до минимальных и максимальных значений в пределах 1,5 * IQR от первого и третьего квартилей. Любые точки за пределами этого диапазона считаются выбросами и отображаются как отдельные точки.

7. Тепловая карта

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

Давайте рассмотрим пример создания тепловой карты с использованием Matplotlib в Python:

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(0)
data = np.random.rand(10, 10)

# Create a heatmap
plt.imshow(data, cmap='viridis', interpolation='nearest')
# Add a color bar to show the scale
plt.colorbar()

plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')
plt.title('Example of Heatmap')

plt.show()

Объяснение:

  • plt.imshow(data, cmap='viridis'): Отображает данные в виде изображения (тепловой карты). Аргумент cmap='viridis' определяет цветовую карту, используемую для тепловой карты.
  • interpolation='nearest': Обеспечивает отображение каждой точки данных в виде цветного блока без сглаживания.

Цветовая шкала сбоку позволяет интерпретировать цвета: более тёмные цвета обозначают меньшие значения, а более светлые — большие. Этот тип графика часто используется в таких областях, как анализ данных, биоинформатика и финансы, для визуализации корреляций и распределений данных в матрице.

Руководство по настройке и стилю Matplotlib

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

1. Добавление заголовка

Метод title() в модуле matplotlib используется для указания заголовка отображаемой визуализации и отображает заголовок с помощью различных атрибутов.

Синтаксис:

matplotlib.pyplot.title(label, fontdict=None, loc=’center’, pad=None, **kwargs)

Пример:

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Linear graph")

plt.show()

Вывод:

добавить заголовок для построения matplotlib

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

Пример:

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Linear graph", fontsize=25, color="green")

plt.show()

2. Добавление меток X и Y

Проще говоря, метка X и метка Y — это названия осей X и Y соответственно. Их можно добавить на график с помощью методов xlabel() и ylabel() .

Синтаксис:

matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, **kwargs)

matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, **kwargs)

Пример:

import matplotlib.pyplot as plt


# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Linear graph", fontsize=25, color="green")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

plt.show()

Вывод:

добавление меток для построения matplotlib

3. Установка ограничений и меток

Возможно, вы заметили, что Matplotlib автоматически устанавливает значения и маркеры (точки) на осях X и Y, однако можно установить ограничения и маркеры вручную.

  • Функции xlim() и ylim() используются для установки пределов оси X и оси Y соответственно.
  • Аналогичным образом, функции xticks() и yticks() используются для установки меток тиков.

Пример: В этом примере мы изменим предел оси Y и установим метки для оси X.

import matplotlib.pyplot as plt


# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Linear graph", fontsize=25, color="green")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

# Setting the limit of y-axis
plt.ylim(0, 80) 

# setting the labels of x-axis
plt.xticks(x, labels=["one", "two", "three", "four"])

plt.show()

Вывод:

ограничение оси и метки меток matplotlib

4. Добавление условных обозначений

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

Атрибут bbox_to_anchor=(x, y) функции legend() используется для указания координат легенды, а атрибут ncol обозначает количество столбцов в легенде. Его значение по умолчанию равно 1.

Синтаксис:

matplotlib.pyplot.legend([“name1”, “name2”], bbox_to_anchor=(x, y), ncol=1)

Пример:

import matplotlib.pyplot as plt


# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Linear graph", fontsize=25, color="green")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

# Setting the limit of y-axis
plt.ylim(0, 80) 

# setting the labels of x-axis
plt.xticks(x, labels=["one", "two", "three", "four"])

# Adding legends
plt.legend(["GFG"])

plt.show()

Вывод:

Добавление условных обозначений к нескольким графикам matplotlib

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

-> Настройка линейной диаграммы

Давайте посмотрим, как настроить созданную выше линейчатую диаграмму. Мы будем использовать следующие свойства:

  • color: Изменение цвета строки
  • linewidth: Настройка ширины линии
  • marker: Для изменения стиля фактической нанесенной точки
  • markersize: Для изменения размера маркеров
  • linestyle: Для определения стиля отображаемой линии

Доступны различные стили строкe

Character

Definition

Solid line

Dashed line

-.

dash-dot line

Dotted line

.

Point marker

o

Circle marker

,

Pixel marker

v

triangle_down marker

^

triangle_up marker

<

triangle_left marker

>

triangle_right marker

1

tri_down marker

2

tri_up marker

3

tri_left marker

4

tri_right marker

s

square marker

p

pentagon marker

*

star marker

h

hexagon1 marker

H

hexagon2 marker

+

Plus marker

x

X marker

D

Diamond marker

d

thin_diamond marker

|

vline marker

_

hline marker

Пример:

import matplotlib.pyplot as plt


# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# plotting the data
plt.plot(x, y, color='green', linewidth=3, marker='o', 
         markersize=15, linestyle='--')

# Adding title to the plot
plt.title("Line Chart")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

plt.show()

Вывод:

линейная диаграмма в стиле matplotlib

-> Настройка гистограммы

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

  • color: Для штриховых граней
  • edgecolor: Цвет краев панели
  • linewidth: Ширина краев полосы
  • width: Ширина полосы

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
x = data['day']
y = data['total_bill']

# plotting the data
plt.bar(x, y, color='green', edgecolor='blue', 
        linewidth=2)

# Adding title to the plot
plt.title("Tips Dataset")

# Adding label on the y-axis
plt.ylabel('Total Bill')

# Adding label on the x-axis
plt.xlabel('Day')

plt.show()

Вывод:

стилизованная под штриховую диаграмму matplotlib

Note: The lines in between the bars refer to the different values in the Y-axis of the particular value of the X-axis.

-> Настройка графика гистограммы

Чтобы сделать гистограммы более эффективными и адаптированными к вашим данным, вы можете применить различные настройки:

  • bins: Количество ячеек одинаковой ширины
  • color: Для изменения цвета лица
  • edgecolor: Цвет ребер
  • linestyle: Для линий по краям
  • alpha: Значение наложения, от 0 (прозрачный) до 1 (непрозрачный)

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
x = data['total_bill']

# plotting the data
plt.hist(x, bins=25, color='green', edgecolor='blue',
         linestyle='--', alpha=0.5)

# Adding title to the plot
plt.title("Tips Dataset")

# Adding label on the y-axis
plt.ylabel('Frequency')

# Adding label on the x-axis
plt.xlabel('Total Bill')

plt.show()

Вывод:

гистограмма matplotlib со стилем

-> Настройка точечной диаграммы

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

  • s: размер маркера (может быть скаляром или массивом размером, равным размеру x или y)
  • c: цвет последовательности цветов для маркеров
  • marker: Стиль маркера
  • linewidths: ширина границы маркера
  • edgecolor: цвет границы маркера
  • alpha: значение наложения, от 0 (прозрачный) до 1 (непрозрачный)
import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
x = data['day']
y = data['total_bill']

# plotting the data
plt.scatter(x, y, c=data['size'], s=data['total_bill'],
            marker='D', alpha=0.5)

# Adding title to the plot
plt.title("Tips Dataset")

# Adding label on the y-axis
plt.ylabel('Total Bill')

# Adding label on the x-axis
plt.xlabel('Day')

plt.show()

Вывод:

стиль гистограммы matplotlib

-> Настройка круговой диаграммы

Круговые диаграммы — отличный способ наглядно представить пропорции и части целого. Чтобы сделать круговые диаграммы более эффективными и визуально привлекательными, воспользуйтесь следующими методами настройки:

  • explode: перемещение клиньев графика
  • autocct: Обозначьте клин их числовым значением.
  • color: Атрибут используется для придания цвета фрагментам.
  • shadow: используется для создания тени клина.

Пример:

import matplotlib.pyplot as plt
import pandas as pd

# Reading the tips.csv file
data = pd.read_csv('tips.csv')

# initializing the data
cars = ['AUDI', 'BMW', 'FORD',
        'TESLA', 'JAGUAR',]
data = [23, 13, 35, 15, 12]

explode = [0.1, 0.5, 0, 0, 0]

colors = ( "orange", "cyan", "yellow",
          "grey", "green",)

# plotting the data
plt.pie(data, labels=cars, explode=explode, autopct='%1.2f%%',
        colors=colors, shadow=True)

plt.show()

Вывод:

круговая диаграмма в стиле matplotlib

Понимание основных компонентов Matplotlib: фигур и осей

Прежде чем продолжить работу с Matplotlib, давайте обсудим некоторые важные классы, которые будут использоваться в дальнейшем в этом руководстве. К этим классам относятся:

  • Рисунок
  • Оси

Примечание: Matplotlib позаботится о создании встроенных элементов по умолчанию, таких как Figure и Axes.

1. Класс Figure

Представьте, что класс figure — это общее окно или страница, на которой всё рисуется. Это контейнер верхнего уровня, содержащий одну или несколько осей. Фигуру можно создать с помощью метода figure().

Синтаксис:

class matplotlib.figure.Figure(figsize=None, dpi=None, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None, constrained_layout=None)

Пример:

# Python program to show pyplot module
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# Creating a new figure with width = 7 inches
# and height = 5 inches with face color as 
# green, edgecolor as red and the line width
# of the edge as 7
fig = plt.figure(figsize =(7, 5), facecolor='g',
                 edgecolor='b', linewidth=7)

# Creating a new axes for the figure
ax = fig.add_axes([1, 1, 1, 1])

# Adding the data to be plotted
ax.plot(x, y)

# Adding title to the plot
plt.title("Linear graph", fontsize=25, color="yellow")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

# Setting the limit of y-axis
plt.ylim(0, 80) 

# setting the labels of x-axis
plt.xticks(x, labels=["one", "two", "three", "four"])

# Adding legends
plt.legend(["GFG"])

plt.show()

Вывод:

класс matplotlib figure

2. Класс Axes

Класс Axes является наиболее базовым и гибким модулем для создания вспомогательных графиков. Один рисунок может содержать несколько осей, но одна ось может присутствовать только на одном рисунке. Функция axes() создает объект осей.

Синтаксис:

axes([left, bottom, width, height])

Как и класс pyplot, класс axes также предоставляет методы для добавления заголовков, легенд, ограничений, меток и т. д. Давайте рассмотрим некоторые из них.

  • Добавление заголовка – ax.set_title()
  • Добавление метки X и метки Y — ax.set_xlabel(), ax.set_ylabel()
  • Установка пределов — ax.set_xlim(), ax.set_ylim()
  • Метки тиков — ax.set_xticklabels(), ax.set_yticklabels()
  • Добавление условных обозначений – ax.legend()

Пример:

# Python program to show pyplot module
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

fig = plt.figure(figsize = (5, 4))

# Adding the axes to the figure
ax = fig.add_axes([1, 1, 1, 1])

# plotting 1st dataset to the figure
ax1 = ax.plot(x, y)

# plotting 2nd dataset to the figure
ax2 = ax.plot(y, x)

# Setting Title
ax.set_title("Linear Graph")

# Setting Label
ax.set_xlabel("X-Axis")
ax.set_ylabel("Y-Axis")

# Adding Legend
ax.legend(labels = ('line 1', 'line 2'))

plt.show()

Вывод:

класс осей matplotlib

Расширенное построение графиков: методы визуализации вложенных графиков

Мы узнали об основных компонентах графика, которые можно добавить, чтобы он передавал больше информации. Один из способов — снова и снова вызывать функцию построения графика с другим набором значений, как показано в приведённом выше примере. Теперь давайте посмотрим, как построить несколько графиков с помощью некоторых функций, а также как построить подзаголовки.

Способ 1: Использование метода add_axes()

Метод add_axes() используется для добавления осей на рисунок. Это метод класса figure

Синтаксис:

add_axes(self, *args, **kwargs)

Пример:

# Python program to show pyplot module
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# Creating a new figure with width = 5 inches
# and height = 4 inches
fig = plt.figure(figsize =(5, 4))

# Creating first axes for the figure
ax1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])

# Creating second axes for the figure
ax2 = fig.add_axes([1, 0.1, 0.8, 0.8])

# Adding the data to be plotted
ax1.plot(x, y)
ax2.plot(y, x)

plt.show()

Вывод:

add_axes matplotlib

Метод 2: С помощью subplot() метод

Этот метод добавляет еще один график в указанном положении сетки на текущем рисунке.

Синтаксис:

subplot(nrows, ncols, index, **kwargs)

subplot(pos, **kwargs)

subplot(ax)

Пример:

import matplotlib.pyplot as plt


# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]


# Creating figure object
plt.figure()

# adding first subplot
plt.subplot(121)
plt.plot(x, y)

# adding second subplot
plt.subplot(122)
plt.plot(y, x)

Вывод:

подзаголовок matplotlib

Метод 3: С помощью subplots() метод

Эта функция используется для одновременного создания фигур и нескольких вспомогательных графиков.

Синтаксис:

matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

Пример:

import matplotlib.pyplot as plt


# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# Creating the figure and subplots
# according the argument passed
fig, axes = plt.subplots(1, 2)

# plotting the data in the
# 1st subplot
axes[0].plot(x, y)

# plotting the data in the 1st
# subplot only
axes[0].plot(y, x)

# plotting the data in the 2nd 
# subplot only
axes[1].plot(x, y)

Вывод:

подзаголовки matplotlib

Способ 4: Использование метода subplot2grid()

Эта функция создаёт объект осей в указанном месте внутри сетки, а также помогает растянуть объект осей на несколько строк или столбцов. Проще говоря, эта функция используется для создания нескольких диаграмм на одном рисунке.

Синтаксис:

Plt.subplot2grid(shape, location, rowspan, colspan)

Пример:

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# adding the subplots
axes1 = plt.subplot2grid (
(7, 1), (0, 0), rowspan = 2, colspan = 1)

axes2 = plt.subplot2grid (
(7, 1), (2, 0), rowspan = 2, colspan = 1)

# plotting the data
axes1.plot(x, y)
axes2.plot(y, x)

Вывод:

subplot2grid matplotlib

Сохранение графиков Matplotlib с использованием savefig()

Для сохранения графика в файле на диске используется метод savefig(). Файл можно сохранить во многих форматах, таких как .png, .jpg, .pdf и т. д.

Синтаксис:

pyplot.savefig(fname, dpi=None, facecolor=’w’, edgecolor=’w’, orientation=’portrait’, papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

Пример:

import matplotlib.pyplot as plt

# Creating data
year = ['2010', '2002', '2004', '2006', '2008']
production = [25, 15, 35, 30, 10]

# Plotting barchart
plt.bar(year, production)

# Saving the figure.
plt.savefig("output.jpg")

# Saving figure by changing parameter values
plt.savefig("output1", facecolor='y', bbox_inches="tight",
            pad_inches=0.3, transparent=True)

Вывод:

сохранение графика matplotlibграфик сохранения matplotlib

Заключение

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