Простая линейная диаграмма с использованием Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Введение

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

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.

Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Определите функцию

Во - первых, определите функцию, которая будет отображаться на графике. В этом примере функция имеет вид (x - 3) _ (x - 5) _ (x - 7) + 85.

def func(x):
    return (x - 3) * (x - 5) * (x - 7) + 85

Определите пределы интеграла

Далее определите пределы интеграла. В этом примере пределы: a = 2 и b = 9.

a, b = 2, 9

Создайте значения x и y

Сгенерируйте диапазон значений x с использованием функции linspace из numpy. Затем используйте функцию, определенную на шаге 1, для генерации соответствующих значений y.

import numpy as np

x = np.linspace(0, 10)
y = func(x)

Создайте график

Создайте объект рисунка и оси с использованием subplots. Постройте значения x и y с использованием plot. Задайте пределы оси y, чтобы начинаться с 0, с использованием set_ylim.

fig, ax = plt.subplots()
ax.plot(x, y, 'r', linewidth=2)
ax.set_ylim(bottom=0)

Создайте заштрихованную область

Создайте заштрихованную область с использованием участка Polygon. Сгенерируйте значения x и y для области с использованием linspace и функции, определенной на шаге 1. Затем определите вершины области в виде списка кортежей. Наконец, создайте объект Polygon и добавьте его к оси с использованием add_patch.

from matplotlib.patches import Polygon

ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 0), *zip(ix, iy), (b, 0)]
poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')
ax.add_patch(poly)

Добавьте подпись интеграла

Добавьте подпись интеграла к графику с использованием text. Подпись должна быть центрирована в точке середины между a и b и должна быть отформатирована с использованием mathtext.

ax.text(0.5 * (a + b), 30, r"$\int_a^b f(x)\mathrm{d}x$",
        horizontalalignment='center', fontsize=20)

Добавьте подписи осей и делений на осях

Добавьте подписи к осям x и y с использованием figtext. Спрятать верхние и правые контуры с использованием spines. Задайте пользовательские позиции делений и подписи с использованием set_xticks и set_yticks.

fig.text(0.9, 0.05, '$x$')
fig.text(0.1, 0.9, '$y$')

ax.spines[['top', 'right']].set_visible(False)
ax.set_xticks([a, b], labels=['$a$', '$b$'])
ax.set_yticks([])

Показать график

Используйте show, чтобы отобразить график.

plt.show()

Резюме

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