Визуализация данных является важнейшим аспектом анализа данных, позволяя специалистам по данным и аналитикам представлять сложные данные в более понятной и содержательной форме. Одной из самых популярных библиотек для визуализации данных в 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 в Jupyter Notebook и Google Colab с помощью той же команды:
Если вы используете 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()
Выход:
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()
Выход:
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()
Выход:
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()
Выход:
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()
Выход:
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()
Выход:
Объяснение:
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()
Вывод:
Мы также можем изменить внешний вид заголовка, используя параметры этой функции.
Пример:
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()
Вывод:
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()
Вывод:
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()
Вывод:
Давайте применим изученные нами методы настройки к базовым графикам, которые мы создали ранее. Это позволит дополнить каждый график заголовками, метками осей, пределами, метками тиков и легендами, чтобы сделать их более информативными и визуально привлекательными.
-> Настройка линейной диаграммы
Давайте посмотрим, как настроить созданную выше линейчатую диаграмму. Мы будем использовать следующие свойства:
- 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()
Вывод:
-> Настройка гистограммы
Чтобы сделать гистограммы более информативными и визуально привлекательными, доступны различные параметры настройки. Для настройки гистограммы доступны следующие параметры:
- 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()
Вывод:
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()
Вывод:
-> Настройка точечной диаграммы
Точечные диаграммы — это универсальные инструменты для визуализации взаимосвязей между двумя переменными. Настройки, доступные для точечных диаграмм, повышают их наглядность и эффективность:
- 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()
Вывод:
-> Настройка круговой диаграммы
Круговые диаграммы — отличный способ наглядно представить пропорции и части целого. Чтобы сделать круговые диаграммы более эффективными и визуально привлекательными, воспользуйтесь следующими методами настройки:
- 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 позаботится о создании встроенных элементов по умолчанию, таких как 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()
Вывод:
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()
Вывод:
Расширенное построение графиков: методы визуализации вложенных графиков
Мы узнали об основных компонентах графика, которые можно добавить, чтобы он передавал больше информации. Один из способов — снова и снова вызывать функцию построения графика с другим набором значений, как показано в приведённом выше примере. Теперь давайте посмотрим, как построить несколько графиков с помощью некоторых функций, а также как построить подзаголовки.
Способ 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()
Вывод:
Метод 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)
Вывод:
Метод 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)
Вывод:
Способ 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)
Вывод:
Сохранение графиков 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 предоставляет инструменты, необходимые для оживления ваших данных.