Введение
В этом руководстве показано, как использовать библиотеку 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 для создания простой линейной диаграммы с заштрихованной областью, представляющей площадь под кривой. График включает в себя текстовую подпись, подписи осей и пользовательскую настройку позиций делений и подписей. Следуя шагам, описанным в этом руководстве, вы можете создать аналогичные диаграммы для собственных данных.