Настройка стилей пунктирных линий в Matplotlib

Beginner

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

Введение

В этом практическом занятии мы научимся настраивать стили пунктирных линий в Matplotlib. Мы рассмотрим, как изменить последовательность пунктиров с использованием .Line2D.set_dashes(), настроить стиль пунктира с использованием property_cycle и установить другие атрибуты пунктира с использованием соответствующих методов, таких как ~.Line2D.set_dash_capstyle(), ~.Line2D.set_dash_joinstyle() и ~.Line2D.set_gapcolor().

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

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

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

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

Импортируем необходимые библиотеки

Сначала нам нужно импортировать необходимые библиотеки. В этом практическом занятии мы будем использовать Matplotlib и NumPy.

import matplotlib.pyplot as plt
import numpy as np

Создаем данные для построения графика

Далее нам нужно создать некоторые данные для построения графика. В этом практическом занятии мы будем использовать синус-функцию для создания наших данных. Мы сгенерируем 500 равномерно распределенных точек между 0 и 10 и вычислим синус каждой точки с использованием функции np.sin().

x = np.linspace(0, 10, 500)
y = np.sin(x)

Задаем толщину линии

Мы можем задать толщину линии для всех линий на графике с использованием функции plt.rc(). В этом практическом занятии мы установим толщину линии равной 2,5.

plt.rc('lines', linewidth=2.5)

Создаем график

Теперь мы можем создать график с использованием функции plt.subplots(). Также мы создадим три линии с использованием функции ax.plot().

fig, ax = plt.subplots()

## Используем set_dashes() и set_capstyle() для изменения пунктира существующей линии.
line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2])  ## 2pt линия, 2pt перерыв, 10pt линия, 2pt перерыв.
line1.set_dash_capstyle('round')

## Используем plot(..., dashes=...) для установки пунктира при создании линии.
line2, = ax.plot(x, y - 0.2, dashes=[6, 2], label='Using the dashes parameter')

## Используем plot(..., dashes=..., gapcolor=...) для установки пунктира и
## чередующихся цветов при создании линии.
line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
                 label='Using the dashes and gapcolor parameters')

ax.legend(handlelength=4)
plt.show()

Изменяем последовательность пунктира с использованием .Line2D.set_dashes()

Мы можем изменить последовательность пунктира с использованием .Line2D.set_dashes(). В этом примере мы изменяем последовательность пунктира для line1, чтобы создать шаблон пунктира: 2pt линия, 2pt перерыв, 10pt линия и 2pt перерыв. Мы также задаем стиль окончания штриха 'round' с использованием line1.set_dash_capstyle().

line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2])  ## 2pt line, 2pt break, 10pt line, 2pt break.
line1.set_dash_capstyle('round')

Задаем стиль пунктира с использованием property_cycle

Мы можем настроить стиль пунктира с использованием property_cycle. Это можно сделать путем передачи списка последовательностей пунктиров с использованием ключевого слова dashes в циклический итератор. В этом примере мы не будем использовать этот метод.

Задаем другие атрибуты пунктира с использованием соответствующих методов

Другие атрибуты пунктира также можно задать с использованием соответствующих методов, таких как ~.Line2D.set_dash_joinstyle(), ~.Line2D.set_dash_joinstyle() и ~.Line2D.set_gapcolor(). В этом примере мы будем использовать параметры dashes и gapcolor для задания последовательности пунктиров и чередующегося цвета для line3.

line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
                 label='Using the dashes and gapcolor parameters')

Резюме

В этом практическом занятии мы узнали, как настраивать стили пунктирных линий в Matplotlib. Мы рассмотрели, как изменить последовательность пунктиров с использованием .Line2D.set_dashes(), настроить стиль пунктира с использованием property_cycle и задать другие атрибуты пунктира с использованием соответствующих методов, таких как ~.Line2D.set_dash_capstyle(), ~.Line2D.set_dash_joinstyle() и ~.Line2D.set_gapcolor(). Следуя этим шагам, вы можете создать настраиваемые стили пунктирных линий для своих графиков в Matplotlib.