Matplotlib에서 틱 수 설정

Suraj Joshi 2023년1월30일
  1. Matplotlib.ticker.MaxNLocator 클래스를 사용하여 눈금 수 설정
  2. Matplotlib.axis.Axis.set_ticks()메서드를 사용하여 숫자 눈금 설정
Matplotlib에서 틱 수 설정

이 튜토리얼에서는Matplotlib.ticker.MaxNLocator 클래스와set_ticks()메서드를 사용하여 Matplotlib 그림에서 틱 수를 설정하는 방법을 설명합니다.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

출력:

Matplotlib의 기본 틱

기본 틱 수와 함께 Matplotlib 그림을 보여줍니다. 다른 방법을 사용하여 그림의 틱 수를 변경합니다.

Matplotlib.ticker.MaxNLocator 클래스를 사용하여 눈금 수 설정

Matplotlib.ticker.MaxNLocator 클래스는 최대 bin 수를 나타내는nbins라는 매개 변수를 정의합니다. 틱 수는 빈 수보다 하나 더 많습니다. 따라서Matplotlib.ticker.MaxNLocator 클래스의nbins 매개 변수는 틱 수가nbins+1보다 클 수 없음을 의미합니다.

import math
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.yaxis.set_major_locator(MaxNLocator(5))
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

출력:

Matplotlib.ticker.MaxNLocator 클래스를 사용하여 플롯 틱 수 설정

그림에서 Y 축의 최대 빈 수를 5로 설정하여 최대 틱 수가 6임을 의미합니다. 마찬가지로 X 축에도 틱을 설정할 수 있습니다.

또는 if문과 함께 특정 조건을 사용하여 조건을 충족하는 특정 틱만 선택할 수도 있습니다.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
for i, tick in enumerate(axes.xaxis.get_ticklabels()):
    if i % 2 != 0:
        tick.set_visible(False)
for i, tick in enumerate(axes.yaxis.get_ticklabels()):
    if i % 2 != 0:
        tick.set_visible(False)
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

출력:

if 조건을 사용하여 플롯 틱 수 설정

X 축과 Y 축 모두 짝수 위치에있는 눈금에만 눈금 레이블을 설정합니다. 눈금 레이블을 제거하더라도 눈금은 여전히 있습니다. 조건을 변경하여 눈금 레이블을 사용자 지정할 수 있습니다.

Matplotlib.axis.Axis.set_ticks()메서드를 사용하여 숫자 눈금 설정

파이썬에서Matplotlib.axis.Axis.set_ticks()를 사용하여 축을 설정할 수도 있습니다.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.xaxis.set_ticks([0, 1, 3, 4, 5, 6])
axes.yaxis.set_ticks(np.linspace(-1, 1, 5))
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

출력:

set_ticks 메서드를 사용하여 플롯 틱 수 설정

set_ticks()메서드에 지정된 틱 수와 틱 값을 설정합니다. 틱 값이 설정 될 set_ticks()에 NumPy 배열 또는 목록을 전달합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Matplotlib Ticks