DevGang
Авторизоваться

Как установить диапазон оси (xlim, ylim) в Matplotlib 

Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его параметрами настройки - вы можете настроить практически любой элемент из его иерархии объектов.

В этом руководстве мы рассмотрим, как установить диапазон оси (xlim, ylim) в Matplotlib, чтобы обрезать или расширить представление до определенных пределов.

Создание сюжета

Сначала создадим простой сюжет:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')

plt.show()

Здесь мы построили две синусоидальные функции, начиная с 0 и заканчивая 100 с шагом 0.1. Запуск этого кода дает:

Теперь мы можем настроить диапазон этой оси, которая в настоящее время идет от 0 до 100.

Установка диапазона оси в Matplotlib

Теперь, если мы хотим усечь это представление на меньшее или даже большее, мы можем настроить пределы X и Y. Доступ к ним можно получить либо через экземпляр PyPlot, либо через экземпляр Axes.

Как установить X-Limit (xlim) в Matplotlib

Давайте сначала установим X-limit, используя как PyPlot, так и экземпляры Axes. Оба эти метода принимают кортеж - левый и правый пределы. Так, например, если мы хотим обрезать представление, чтобы отображать только данные в диапазоне 25-50 по оси X, мы бы использовали xlim([25, 50]):

fig, ax = plt.subplots(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')

plt.xlim([25, 50])

Это ограничивает просмотр по оси X данными между 25 и 50 и приводит к:

Такого же эффекта можно добиться, задав их через объект ax. Таким образом, если у нас несколько Axes, мы можем установить лимит для них отдельно:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

ax.set_title('Full view')
ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')

ax2.set_title('Truncated view')
ax2.plot(y, color='blue', label='Sine wave')
ax2.plot(z, color='black', label='Cosine wave')

ax2.set_xlim([25, 50])

plt.show()

Как установить Y-Limit (ylim) в Matplotlib

Теперь давайте установим Y-Limit. Этого можно добиться с помощью тех же двух подходов:

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')

plt.ylim([-1, 0])

Или:

ax.plot(y, color='blue', label='Sine wave')
ax.plot(z, color='black', label='Cosine wave')

ax.set_ylim([-1, 0])

Оба результата приводят к:

Вывод

В этом руководстве мы рассмотрели, как установить диапазон оси (т.е. пределы X и Y) с помощью Matplotlib в Python.

Источник:

#Python #Matplotlib
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Оплатив хостинг 25$ в подарок вы получите 100$ на счет

Получить