
теория 1к 2с / Построение графиков в Python с использованием модуля matplotlib. - практика
.pdf
Построение графиков с
MatPlotLib

Что такое MatPlotLib
MatPlotLib - Matrix Plotting Library, обширная
библиотека предоставляющаяя функционал для реализации двумерной и трехмерной графики.
Генерируемые изображения могут быть исползованы в интерактивной графике,
научных публикациях и пользовательских графических интерфейсах.

Что такое MatPlotLib
MatPlotLib предоставляет несколько интерфейсов для построения графиков: функциональный и объектно-ориентированный. Функциональный
подход является более простым и практически аналогичен MATLAB, а объектно-
ориентированный подход предоставляет более гибкие вохможности настройки получаемых графиков.

Подготовка
Все дальнейшие примеры кода подразумевают, что модуль MatPlotLib и модуль NumPy импортированы следующим образом:
1 import numpy as np
2 import matplotlib.pyplot as plt

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

При построении графиков в блокнотах Jupyter,
получившиеся изображения будут становиться частью блокнота, а при построении графиков с использованием файлов с разрешением .py (например в Spyder) они будут выводиться в интерактивном окне.

Построение графика
|
|
Исходный код |
Результат |
|
|
|
|
||
|
1 |
# Массив X'ов от 0 до 2 Пи |
|
|
|
2 |
xs = np.linspace(0, 2*np.pi, 100) |
|
|
|
3 |
# Рассчет Y'ов |
|
|
|
4 |
ys = np.sin(xs) |
|
|
|
5 |
|
|
|
|
6 |
# Построение линии |
|
|
|
7 |
plt.plot(xs, ys) |
|
|
|
8 |
# Отображение фигуры |
|
|
|
9 |
plt.show() |
|
|
|
|
|
|
|
|
|
|
|
|
При написании кода в блокнотах Jupyter функцию plt.show можно
опустить

Построение графика
|
|
Исходный код |
Результат |
|
|
|
|
||
|
1 |
xs = np.linspace(0, 2*np.pi, 100) |
|
|
|
2 |
ys = np.sin(xs) |
|
|
|
3 |
# Рассчет Y'ов (косинус) |
|
|
|
4 |
ys1 = np.cos(xs) |
|
|
|
5 |
|
|
|
|
6 |
plt.plot(xs, ys) |
|
|
|
7 |
# Построение второй линии |
|
|
|
8 |
plt.plot(xs, ys1) |
|
|
|
9 |
|
|
|
|
10 |
plt.show() |
|
|
|
|
|
|
|
|
|
|
|
|

Подписи осей
|
|
Исходный код |
Результат |
|
|
|
|
||
|
1 |
xs = np.linspace(0, 2*np.pi, 100) |
|
|
|
2 |
ys = np.sin(xs) |
|
|
|
3 |
ys1 = np.cos(xs) |
|
|
|
4 |
|
|
|
|
5 |
plt.plot(xs, ys) |
|
|
|
6 |
plt.plot(xs, ys1) |
|
|
|
7 |
|
|
|
|
8 |
# Подпись оси X |
|
|
|
9 |
plt.xlabel("Ось X") |
|
|
|
10 |
# Подпись оси Y |
|
|
|
11 |
plt.ylabel("Ось Y") |
|
|
|
12 |
|
|
|
|
13 |
plt.show() |
|
|
|
|
|
|
|
|
|
|
|
|

Заголовок графика
|
Исходный код |
Результат |
1 |
xs = np.linspace(0, 2*np.pi, 100) |
|
2 |
ys = np.sin(xs) |
|
3 |
ys1 = np.cos(xs) |
|
4 |
|
|
5 |
plt.plot(xs, ys) |
|
6 |
plt.plot(xs, ys1) |
|
7 |
|
|
8 |
# Заголовок |
|
9 |
plt.title("Y = f(X)") |
|
10
11plt.xlabel("Ось X")
12plt.ylabel("Ось Y")
14plt.show()