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.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()
출력:
그림에서 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()
출력:
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()
에 NumPy 배열 또는 목록을 전달합니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn