Настройка размещения делений на осях в Matplotlib

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

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

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

Введение

В этом практическом занятии мы узнаем, как настраивать поведение автоматической настройки делений на осях в Matplotlib. По умолчанию Matplotlib выбирает количество делений и их позиции так, чтобы на оси было разумное количество делений, и они располагались в "округлых" числах. Однако на краях графика может не быть делений. Мы узнаем, как переключить axes.autolimit_mode в 'round_numbers', чтобы деления были в округленных числах и были также на краях.

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

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

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

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

Диаграмма рассеяния без режима автоматической настройки делений round_numbers

В этом шаге мы создадим диаграмму рассеяния без режима автоматической настройки делений round_numbers и изучим поведение автоматической настройки делений.

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(19680801)

fig, ax = plt.subplots()
dots = np.linspace(0.3, 1.2, 10)
X, Y = np.meshgrid(dots, dots)
x, y = X.ravel(), Y.ravel()
ax.scatter(x, y, c=x+y)
plt.show()

Диаграмма рассеяния с режимом автоматической настройки делений round_numbers

В этом шаге мы переключим axes.autolimit_mode в 'round_numbers' и создадим диаграмму рассеяния, чтобы деления были в округленных числах и были также на краях.

plt.rcParams['axes.autolimit_mode'] = 'round_numbers'

fig, ax = plt.subplots()
ax.scatter(x, y, c=x+y)
plt.show()

Диаграмма рассеяния с дополнительным полем

В этом шаге мы установим дополнительное поле вокруг данных с использованием .Axes.set_xmargin / .Axes.set_ymargin, при этом режим автоматической настройки делений с округленными числами по-прежнему сохраняется.

fig, ax = plt.subplots()
ax.scatter(x, y, c=x+y)
ax.set_xmargin(0.8)
plt.show()

Резюме

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