Настройка графика

Последнее обновление: 10.02.2026

В прошлой теме было рассмотрено создание простейшего графика с помощью Matplotlib с большинством настроек по умолчанию. Теперь рассмотрим, как мы можем настроить различные аспекты графика.

Метки осей

Для осей можно указать метки, которые поясняют, что представляют оси. В зависимости от оси у объекта Axes для установки меток применяются следующие методы:

  • set_xlabel(): устанавливает метку для оси X, которая описывает измерение данных вдоль горизонтальной оси.

  • set_ylabel(): устанавливает метку для оси Y, которая описывает измерение данных вдоль вертикальной оси.

Оба метода идентичны:

Axes.set_xlabel(xlabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)
Axes.set_ylabel(ylabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)
  • Первый параметр в обоих случаях (xlabel / ylabel) представляет текст метки.

  • Параметр labelpad задает расстояние до оси (по умолчанию: 4.0).

  • Параметр loc устанавливает положение метки. Для метки по оси X применяются значения left (слева), center (по центру), right (справа), а для метки по оси Y применяются значения bottom (снизу), center (по центру), top (в верху) (в обоих случаях значение по умолчанию: center)

Пример установки меток для осей:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

figure, axes = plt.subplots()

# Построение графика
axes.plot(days, rates)

# устанавливаем метки для осей
axes.set_xlabel("День")
axes.set_ylabel("Цена")

plt.show()
метки к осям и функции set_xlabel и set_ylabel в Matplotlib и Python

При создании графика в функциональном стиле мы можем использовать аналогичные функции:

# для оси X
matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)
# для оси Y
matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)

Пример применения:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

# Построение графика
plt.plot(days, rates)

# устанавливаем метки для осей
plt.xlabel("День")
plt.ylabel("Цена")

plt.show()

Настройка текста

С помощью дополнительных необязательных параметров можно настроить шрифт текста меток:

  • color: цвет текста, например, в виде названия или шестнадцатеричного значения

  • fontfamily (псевдонимы family и fontname): семейство шрифта. Возможные щначения: "serif", "sans-serif", "cursive", "fantasy", "monospace" или название конкретного шрифта

  • fontsize либо size: размер шрифта в виде числового значения с плавающей точкой, либо можно использовать встроенные значения: "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"

  • fontstretch либо stretch: растяжение шрифта в виде значения в диапазоне 0-1000 или в виде одной из следующих констант: "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded"

  • fontstyle либо style: стиль шрифта в виде одного из следующих значений: "normal", "italic", "oblique"

  • fontweight либо weight: толщина шрифта в виде числового значения в диапазоне 0-1000 или одного из следующих значений: "ultralight", "light", "normal", "regular", "book", "medium", "roman", "semibold", "demibold", "demi", "bold", "heavy", "extra bold", "black"}

Например, мы можем изменить размер или цвет шрифта, чтобы сделать метки более заметными:

axes.set_xlabel("День", fontsize=12, color="navy", fontfamily="monospace")
axes.set_ylabel("Цена", fontsize=12)

Заголовок

Заголовок указывает на назначение графика. Это краткий, информативный текст, размещенный над графиком, чтобы передать цель или тему визуализации. Для добавления заголовка к графику у объекта Axes применяется метод set_title():

Axes.set_title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)

По сути тут те же самые параметры, что и у выше рассмотренных функций, только первый параметр передает текст для всего графика:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

figure, axes = plt.subplots()

# Построение графика
axes.plot(days, rates)

# устанавливаем метки для осей
axes.set_xlabel("День")
axes.set_ylabel("Цена")

# устанавливаем заголовок
axes.set_title("Динамика курса доллара", fontsize=14)

plt.show()
заголовок графика и функции set_title в Matplotlib и Python

При использовании функционального стиля применяется аналогичная функция matplotlib.pyplot.title(). Например:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

# Построение графика
plt.plot(days, rates)

# устанавливаем метки для осей
plt.xlabel("День")
plt.ylabel("Цена")

# устанавливаем заголовок
plt.title("Динамика курса доллара", fontsize=14)

plt.show()

Настройка линий графика

Третий параметр функций Axes.plot() и matplotlib.pyplot.plot() представляет строку форматирования, которая по сути представляет сокращение для быстрой установки основных свойств графика в следующем виде:

fmt = "[marker][line][color]"

Где marker представляет тип отметки значения или маркер, line - параметры линии и color - цвет. Каждый из этих параметров является необязательным. Если он не указан, используется значение из цикла стилей. Исключение: если указана линия, но нет маркера, данные будут представлять собой линию без маркеров.

Мы можем применять следующие типы маркеров:

  • ",": маркер пикселя

  • "o": маркер круга

  • "v": маркер треугольника вниз

  • "^": маркер треугольника вверх

  • "<": маркер треугольника влево

  • ">": маркер треугольника вправо

  • "1": маркер треугольника вниз

  • "2": маркер треугольника вверх

  • "3": маркер треугольника влево

  • "4": маркер треугольника вправо

  • "8": маркер восьмиугольника

  • "s": маркер квадрата

  • "p": маркер пятиугольника

  • "P": маркер плюса (заполненный)

  • "*": маркер звезды

  • "h": маркер шестиугольника 1

  • "H": маркер шестиугольника 2

  • "+": маркер плюса

  • "x": маркер x

  • "X": маркер x (заполненный)

  • "D": маркер ромба

  • "d": тонкий ромб маркер

  • "|": маркер вертикальной линии

  • "_": маркер горизонтальной линии

  • ".": маркер точки

Стили линий:

  • "-": стиль сплошной линии

  • "--": стиль пунктирной линии

  • "-.": стиль штрихпунктирной линии

  • ":": стиль точечно-штриховой линии

Поддерживаемые сокращения цветов представляют однобуквенные коды:

  • "b": синий

  • "g": зеленый

  • "r": красный

  • "c": голубой

  • "m": пурпурный

  • "y": желтый

  • "k": черный

  • "w": белый

Если цвет является единственной частью строки формата, можно дополнительно использовать полные имена ("green") или шестнадцатеричные строки ("#008000").

Все эти и многие другие параметры также можно контролировать с помощью именованных аргументов. Примеры комбинаций:

"b" # синие маркеры стандартной формы
"or" # красные круги
"-g" # зеленая сплошная линия
"--" # пунктирная линия стандартного цвета
"^k:" # черные маркеры в виде треугольников, соединенные пунктирной линией

Пример настройки линий:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

figure, axes = plt.subplots()

# синии линии с круглыми маркерами
axes.plot(days, rates, "ob-")

plt.show()
настройка линий графика в Matplotlib и Python

Аналогично все делается в функциональном стиле:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

# синии линии с круглыми маркерами
plt.plot(days, rates, "ob-")

plt.show()

Деления осей

Деления представляют метки и подписи вдоль осей X и Y, которые указывают на определенные точки данных или интервалы. Для настройки делений у объекта Axes применяются следующие методы:

  • set_xticks(): задает положения делений по оси X

  • set_yticks(): задает положения делений по оси Y

Оба метода имеют одинаковый набор параметров:

Axes.set_xticks(ticks, labels=None, *, minor=False, **kwargs)
Axes.set_yticks(ticks, labels=None, *, minor=False, **kwargs)
  • ticks: массив местоположений делений (либо чисел с плавающей запятой, либо в единицах оси)

  • labels: метки для каждого деления; должны иметь ту же длину, что и деления

  • minor: если False, устанавливаются только основные деления; если True, только второстепенные деления

Пример установки делений:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

figure, axes = plt.subplots()

# синии линии с круглыми маркерами
axes.plot(days, rates, "ob-")

# установка делений осей
axes.set_xticks([0, 1, 2, 3, 4, 5], ["31 янв", "3 фев", "4 фев", "5 фев", "6 фев", "7 фев"])
axes.set_yticks([74.5, 75.0, 75.5, 76.0, 76.5, 77.0, 77.5])

# устанавливаем метки для осей
axes.set_xlabel("День")
axes.set_ylabel("Цена")

plt.show()
настройка делений осей графика и функции set_xticks и set_yticks в Matplotlib и Python

При применении функционального подхода для настройки делений осей используются аналогичные функции xticks() и yticks()

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

# Построение графика
plt.plot(days, rates, "ob-")

# установка делений осей
plt.xticks([0, 1, 2, 3, 4, 5], ["31 янв", "3 фев", "4 фев", "5 фев", "6 фев", "7 фев"])
plt.yticks([74.5, 75.0, 75.5, 76.0, 76.5, 77.0, 77.5])

# устанавливаем метки для осей
plt.xlabel("День")
plt.ylabel("Цена")

plt.show()

Линии сетки

Линии сетки представляют горизонтальные и вертикальные линии, которые проходят по графику, помогая в интерпретации данных и выравнивании. Для добавления линий на график применяется метод Axes.grid():

Axes.grid(visible=None, which="major", axis="both", **kwargs)

Основные параметры функции:

  • visible: указывает, отображать ли линии сетки (при значении True)

  • which: линии сетки, к которым будут применяться изменения. Может принимать следующие значения: "major", "minor" и "both"

  • axis: ось, к которой будут применяться изменения. Может принимать следующие значения: "both", "x" и "y"

Применение:

import matplotlib.pyplot as plt

days = ["31.01", "03.02", "04.02", "05.02", "06.02", "07.02"]
rates = [75.73, 77.02, 76.98, 76.91, 76.55, 77.05]

figure, axes = plt.subplots()

# синии линии с круглыми маркерами
axes.plot(days, rates, "ob-")

# настраиваем сетку
axes.grid(True, which="major", axis="both")

plt.show()
настройка сетки графика и функция Axes.grid в Matplotlib и Python

По умолчанию отображаются как основные, так и второстепенные линии сетки. Но можно настроить, какие линии сетки отображаются и как они выглядят, используя такие параметры, как which и axis. Дополнительный параметр kwargs может устанавливать дополнительные параметры линий, такие как цвет, толщину, прозрачность и т.д. Например:

axes.grid(True, which="major", axis="both", linestyle="--", color="gray", linewidth=0.5, alpha=0.7)

При применении функционального подхода используется аналогичная функция matplotlib.pyplot.grid()

plt.grid(True, which="major", axis="both", linestyle="--", color="gray", linewidth=0.5, alpha=0.7)
Помощь сайту
Юмани:
410011174743222
Номер карты:
4048415020898850
Morty Proxy This is a proxified and sanitized view of the page, visit original site.