Автор оригинала: David Landup.
Вступление
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 (x lim) в Matplotlib
Давайте сначала установим предел X, используя как экземпляры 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
. Таким образом, если у нас есть несколько осей
, мы можем установить предел для них отдельно:
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
Теперь давайте установим предел. Это может быть достигнуто с помощью тех же двух подходов:
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 .
Если вы заинтересованы в визуализации данных и не знаете, с чего начать, обязательно ознакомьтесь с нашей связкой книг on :
Визуализация данных в Python с Matplotlib и Pandas – это книга, предназначенная для того, чтобы познакомить абсолютных новичков с Pandas и Matplotlib, обладающих базовыми знаниями Python, и позволить им создать прочную основу для продвинутой работы с библиотеками тезисов-от простых сюжетов до анимированных 3D-сюжетов с интерактивными кнопками.
Он служит углубленным руководством, которое научит вас всему, что вам нужно знать о пандах и Matplotlib, включая то, как создавать типы сюжетов, которые не встроены в саму библиотеку.
Визуализация данных в Python , книга для начинающих и промежуточных разработчиков Python, проведет вас через простую манипуляцию данными с Пандами, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет вам, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. Более конкретно, в течение 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.
Он служит уникальным практическим руководством по визуализации данных, в изобилии инструментов, которые вы могли бы использовать в своей карьере.