Pyplot — это модуль Matplotlib, который предоставляет интерфейс для построения графиков, аналогичный MATLAB. Он позволяет создавать простые графики, гистограммы, диаграммы рассеяния, столбчатые диаграммы, планки погрешностей и т. д. всего несколькими строками кода.
Одной из распространенных задач при создании графиков является настройка стиля линий, включая изменение ширины линии, типа линии, шаблонов штрихов и цветов. Pyplot предоставляет несколько различных способов настройки стиля линии.
Самый простой способ изменить стиль линии — использовать строку формата. Это строка, описывающая используемый стиль линии. Например:
'-'' сплошная линия '--' пунктирная линия '-.' штрихпунктирная линия ':' пунктирная линия Вы можете передать строку формата параметру 'linestyle' при построении графика:
import matplotlib.pyplot as plt plt.plot([1, 2, 3], linestyle='--') Это позволит построить пунктирную линию. Вы также можете сократить «linestyle» до «ls».
Некоторые распространенные строки формата, которые вы можете использовать:
| Строка формата | Описание |
|---|---|
| '-' | Сплошная линия |
| '–' | Пунктирная линия |
| '-.' | Штрихпунктирная линия |
| ':' | Пунктирная линия |
Вы можете комбинировать стили линий, объединяя строки формата. Например, '-.' даст штрихпунктирную линию.
Для большей гибкости в управлении стилем линии можно использовать объекты стиля линии. Они позволяют точно указать шаблон включения/выключения для штрихов.
Чтобы создать Linestyle, импортируйте matplotlib.lines и создайте экземпляр объекта Linestyle:
from matplotlib import lines solid = lines.Line2D.solid dashed = lines.Line2D.dashed Затем передайте этот объект параметру 'linestyle':
plt.plot([1,2,3], linestyle=dashed) Некоторые распространенные доступные объекты Linestyle:
| Объект | Описание |
|---|---|
| solid | Сплошная линия (по умолчанию) |
| dashed | Пунктирная line |
| dashdot | Штрихпунктирная линия |
| точечная | Пунктирная линия |
Вы также можете определить пользовательские шаблоны штрихов, указав последовательность длин включения/выключения в точках:
import matplotlib.lines as mlines custom = mlines.Line2D([10,5,2,5], linewidth=2) Это создаст стиль линии с 10-точечным штрихом, 5-точечным зазором, 2-точечным штрихом, 5-точечным зазором. Передайте этот объект в 'linestyle', чтобы использовать его.
Помимо стиля линии, вы также можете изменить ширину линии. Это делается с помощью параметра 'linewidth':
plt.plot([1,2,3], linewidth=5) Ширина указывается в точках. Ширина линии по умолчанию равна 1,0.
Вы можете изменить цвет линий с помощью параметра 'color':
plt.plot([1,2,3], color='red') Это позволит построить красную линию. Здесь вы можете использовать любую цветовую спецификацию matplotlib, включая кортежи RGB, шестнадцатеричные коды или названия цветов HTML.
Некоторые примеры:
# Красный plt.plot([1,2,3], color='red') # Шестнадцатеричный код plt.plot([1,2,3], color='#FF0000') # Кортеж RGB plt.plot([1,2,3], color=(1.0, 0, 0)) # Голубой plt.plot([1,2,3], color='cyan') Вы также можете указать стиль линии, ширину и цвет, используя сокращенный синтаксис, объединив их вместе точками:
fmt = '[linestyle].[linewidth].[color]' plt.plot([1,2,3], 'r--') Это устанавливает красную пунктирную линию с шириной по умолчанию. Стиль, ширина и цвет являются необязательными, поэтому вы можете смешивать и сопоставлять элементы.
Если вы хотите установить стили линий для всех графиков, вы можете настроить rcParams matplotlib. Например:
plt.rcParams['lines.linestyle'] = '--' plt.rcParams['lines.linewidth'] = 2 plt.rcParams['lines.color'] = 'blue' Это установит пунктирные синие линии с шириной 2 в качестве линий по умолчанию для всех графиков.
При построении нескольких наборов данных на одних и тех же осях вы можете указать стили линий для каждого набора данных, чтобы различать их. Сделайте это, передав аргументы стиля линии каждому вызову plt.plot():
import matplotlib.pyplot as plt xs = [1, 2, 3, 4] ys1 = [1, 2, 3, 4] ys2 = [2, 4, 6, 8] plt.plot(xs, ys1, linestyle='--', color='b') plt.plot(xs, ys2, linestyle=':', color='r') plt.show() Это отобразит ys1 как синюю пунктирную линию, а ys2 как красную пунктирную линию.
Подводя итог, чтобы изменить стили линий в графиках matplotlib, вы можете использовать:
Это обеспечивает большую гибкость для настройки линий графика в соответствии с вашими потребностями. Правильное использование стилей линий может сделать ваши графики более понятными и визуально более эффективными.
Вот несколько примеров графиков с использованием различных вариантов стилей линий:
import matplotlib.pyplot as plt import matplotlib.lines as mlines plt.plot([1, 2, 3], linestyle='-') plt.plot([1, 2, 3], linestyle='--') plt.show() Этот метод рисует сплошную и пунктирную линию с использованием строк форматирования.
custom = mlines.Line2D([10,5,2,5], linewidth=2) plt.plot([1,2,3], linestyle=custom) plt.show() Здесь пользовательский объект стиля линии определяет шаблон включения/выключения пунктира.
импортировать matplotlib.pyplot как plt plt.plot([1,2,3], linewidth=1) plt.plot([1,2,3], linewidth=5) plt.show() Это устанавливает различную ширину линии для каждой линии.
импортировать matplotlib.pyplot как plt plt.plot([1,2,3], color='red') plt.plot([1,2,3], color='#00FF00') plt.show() Здесь используются красный и зеленый цвета.
import matplotlib.pyplot as plt plt.plot([1,2,3], 'r-.') plt.plot([1,2,3], 'b--') plt.show() Сокращенный синтаксис кратко определяет как стиль, так и цвет.
import matplotlib.pyplot as plt xs = [1, 2, 3, 4] ys1 = [1, 2, 3, 4] ys2 = [2, 4, 6, 8] plt.plot(xs, ys1, 'r--') plt.plot(xs, ys2, 'b:') plt.show() Здесь каждая линия имеет различные стили, поскольку они представляют разные наборы данных.
В matplotlib линии очень легко настраиваются с помощью строк формата, объектов стиля линии, ширины линии, цвета, сокращенного синтаксиса и параметров для каждого набора данных. Это позволяет полностью контролировать визуальное представление линий на ваших графиках. Правильное использование стилей линий является ключом к созданию графиков качества публикации, которые эффективно демонстрируют ваши данные.