Руководство по path - эффектам в Matplotlib

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

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

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

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

Импортируем библиотеки и готовим данные

Во - первых, нам нужно импортировать необходимые библиотеки и подготовить некоторые данные для построения графика.

import matplotlib.pyplot as plt
import numpy as np

## Prepare data
arr = np.arange(25).reshape((5, 5))

Добавляем эффект штриха к тексту

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

## Create plot and add text annotation with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
txt = ax.annotate("test", (1., 1.), (0., 0),
                   arrowprops=dict(arrowstyle="->",
                                   connectionstyle="angle3", lw=2),
                   size=20, ha="center",
                   path_effects=[patheffects.withStroke(linewidth=3,
                                                        foreground="w")])
txt.arrow_patch.set_path_effects([
    patheffects.Stroke(linewidth=5, foreground="w"),
    patheffects.Normal()])

## Add grid with stroke effect
pe = [patheffects.withStroke(linewidth=3,
                             foreground="w")]
ax.grid(True, linestyle="-", path_effects=pe)

plt.show()

Добавляем эффект штриха к контуру линии

Мы также можем добавить эффекты штриха к линиям контура и их подписям, используя путь - эффект withStroke.

## Create plot and add contour lines with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
cntr = ax.contour(arr, colors="k")

plt.setp(cntr.collections, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

clbls = ax.clabel(cntr, fmt="%2.0f", use_clabeltext=True)
plt.setp(clbls, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

plt.show()

Добавляем эффект тени к легенде

Мы можем добавить эффект тени к легенде, используя путь - эффект withSimplePatchShadow.

## Create plot and add shadow effect to legend
fig, ax = plt.subplots()
p1, = ax.plot([0, 1], [0, 1])
leg = ax.legend([p1], ["Line 1"], fancybox=True, loc='upper left')
leg.legendPatch.set_path_effects([patheffects.withSimplePatchShadow()])

plt.show()

Резюме

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