Поиск по сайту:

Как настроить положение меток осей в Matplotlib?


Когда мы выполняем визуализацию данных в Matplotlib с использованием подграфиков или графиков, важно правильно маркировать ось и при необходимости корректировать положение меток оси, чтобы они не перекрывались с другими элементами, присутствующими на графике. . Это может помочь пользователям легко понять представляемые данные.

Для создания меток и их настройки мы будем использовать библиотеку Matplotlib, которая используется для создания высококачественной визуализации данных. В этой статье будут обсуждаться различные методы настройки положения меток осей в Matplotlib. Мы будем использовать подсюжеты для того же самого.

Матплотлиб

Matplotlib — это библиотека, которая в основном используется для построения графиков и графиков для языка программирования Python и NumPy, его расширения для числовой математики. Наборы инструментов Tkinter, wxPython, Qt и GTK GUI могут включать диаграммы, использующие его объектно-ориентированный API.

matplotlib.pyplot — это набор методов командного типа, которые позволяют matplotlib функционировать аналогично MATLAB. Каждая функция pyplot каким-то образом изменяет фигуру, будь то добавление области построения, построения линий, добавления меток и т. д. Текущий график и область построения сохраняются между вызовами функции в matplotlib.pyplot, и функции построения графика применяются всегда. к активному набору осей.

Подсюжеты

Подграфики в Matplotlib позволяют отображать несколько графиков или диаграмм на одном рисунке. Мы можем сравнивать и анализировать несколько наборов данных одновременно с помощью подграфиков. Это облегчает обнаружение или выявление тенденций, закономерностей и взаимосвязей.

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

Метод «subplots» в Matplotlib позволяет нам создавать подграфики. Эта функция возвращает объект графика и массив объектов подграфика. Мы можем отображать наши данные на каждом подграфике, используя эти объекты подграфика.

Синтаксис

fig,ax=plt.subplots(nrows,ncolumns,index)

Объяснение

  • nrows — этот параметр определяет количество строк подграфиков в сетке.

  • ncolumns — этот параметр указывает количество столбцов подграфиков в сетке.

  • index — этот параметр указывает индекс текущего подграфика. Индекс начинается с 1 и увеличивается по строкам.

Отрегулируйте положение меток осей

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

  • Функция .set_label_coords()

  • функция set_label_position()

  • функция set_pad()

.set_label_coords()

Этот метод используется для установки координат метки подграфика.

Границы метки-галочки определяют значения по умолчанию для координаты x метки y и координаты y метки x. Однако проблема возникает, когда осей много и метки необходимо выровнять по ним.

Координаты метки также могут быть указаны для преобразования. Если указано «Нет», используется система координат осей, где (0, 0) — левый нижний угол, (0,5, 0,5) — середина и т. д.

Пример 1

import matplotlib.pyplot as p
import numpy as n

# generate some data
x=n.array([11, 22,33, 44, 55,66,77,88,99,100])

# create a subplot and plot the data
f, a = p.subplots(2,2)
a[0,0].plot(x, n.sin(x))
a[0,1].plot(x,n.cos(x))
a[1, 0].plot(x, x)
a[1, 1].plot(x, n.exp(x))
# set the x-axis label and adjust the position
a[0,0].set_xlabel('Sin graph')
a[0,0].xaxis.set_label_coords(0.35, 0)

a[0,1].set_xlabel('Cos graph')
a[0,1].xaxis.set_label_coords(0.65,0)
a[1, 0].set_xlabel('Linear graph')
a[1,0].xaxis.set_label_coords(0.35,-0.24)
a[1, 1].set_xlabel('exponential graph')
a[1,1].xaxis.set_label_coords(0.65,-0.25)

# display the plot
p.show()

Выход

Функция set_label_position()

Функция set_position() используется для установки положения метки оси на подграфиках. Этот метод принимает следующие параметры:

Положение — «слева», «справа», «сверху», «снизу».

Пример 2

import matplotlib.pyplot as p
import numpy as n

# generate some data
x=n.array([11, 22,33, 44, 55,66,77,88,99,100])

# create a subplot and plot the data
f, a = p.subplots(2,2)
a[0,0].plot(x, n.sin(x))
a[0,1].plot(x,n.cos(x))
a[1, 0].plot(x, x)
a[1, 1].plot(x, n.exp(x))
# set the x-axis label and y label and adjust the position
a[0,0].set_xlabel('Sin graph')
a[0,0].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[0,0].xaxis.set_label_coords(0.35, 0)
a[0,0].yaxis.set_label_coords(0.35, 0)
a[0,1].set_xlabel('Cos graph')
a[0,1].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[0,1].xaxis.set_label_coords(0.65,0)
a[0,1].yaxis.set_label_coords(0.65,0)
a[1, 0].set_xlabel('Linear graph')
a[1,0].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[1,0].xaxis.set_label_coords(0.35,-0.24)
a[1,0].yaxis.set_label_coords(0.35,-0.24)
a[1, 1].set_xlabel('exponential graph')
a[1,1].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[1,1].xaxis.set_label_coords(0.65,-0.25)
a[1,1].yaxis.set_label_coords(0.65,-0.25)


# display the plot
p.show()

Выход

set_pad(), параметр labelpad функции set_label

С помощью функции setpad() мы можем изменить расстояние между меткой оси и метками деления оси.

Например, мы можем использовать следующий код, чтобы изменить количество места вокруг метки оси X на подграфике:

Пример 3

import matplotlib.pyplot as plt
import numpy as np

# generate some data
x=np.array([11, 22,33, 44, 55,66,77,88,99,100])

# create a subplot and plot the data
fig, ax = plt.subplots(2,2)
ax[0,0].plot(x, np.sin(x))
ax[0,1].plot(x,np.cos(x))
ax[1, 0].plot(x, x)
ax[1, 1].plot(x, np.exp(x))
# set the x-axis label and adjust the position

ax[1, 0].set_xlabel('Linear graph',labelpad=10)

ax[1, 1].set_xlabel('exponential graph',labelpad=10)


# display the plot
plt.show()

Выход

Заключение

В заключение, настройка положения меток осей является важной частью использования Matplotlib для создания четких и точных графиков. Set_label_coords(), set_position() и set_pad() — это некоторые из методов, которые мы можем использовать для изменения положения меток осей на графике или подграфике.

Статьи по данной тематике: