Matplotlib 그리드 간격 설정

Suraj Joshi 2021년2월9일
Matplotlib 그리드 간격 설정

이 튜토리얼에서는 그리드 간격을 설정하고 Matplotlib 플롯의 주 및 부 그리드에 다양한 스타일을 적용하는 방법을 소개합니다.

그리드를 표시하려면matplotlib.pyplot.grid()함수를 사용해야합니다.

import matplotlib.pyplot as plt

plt.figure(figsize=(8, 6))
plt.xlim(0, 10)
plt.ylim(0, 10)
plt.grid()
plt.title("Plot with Grids")
plt.show()

출력:

Matplotlib의 기본 그리드

눈금 간격에 따라 눈금이 간격이있는 눈금이있는 플롯을 표시합니다. 틱간격을 변경하여 그리드 간격을 변경할 수 있습니다.

눈금 간격을 변경하여 Matplotlib 플롯 그리드 간격 변경

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 6))

axes[0].set_xlim(0, 10)
axes[0].set_ylim(0, 10)
axes[0].set_title("Subplot 1")
axes[0].grid()

axes[1].set_xlim(0, 8)
axes[1].set_ylim(0, 8)
axes[1].set_title("Subplot 2")
axes[1].grid()

plt.show()

출력:

Matplotlib에서 눈금 간격을 변경하여 그리드 간격 변경

두 개의 서브 플롯이있는 그림을 생성합니다. 두 서브 플롯에 대해 서로 다른 눈금 간격을 설정했습니다. 그림에서 그리드 간격이 눈금 간격에 따라 유지된다는 것이 분명합니다.

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 6))

major_ticks_top = np.linspace(0, 20, 6)
minor_ticks_top = np.linspace(0, 20, 21)

major_ticks_bottom = np.linspace(0, 15, 6)

axes[0].set_xticks(major_ticks_top)
axes[0].set_yticks(major_ticks_top)
axes[0].set_xticks(minor_ticks_top, minor=True)
axes[0].set_yticks(minor_ticks_top, minor=True)
axes[0].set_title("Subplot 1")
axes[0].grid(which="major", alpha=0.6)
axes[0].grid(which="minor", alpha=0.3)

axes[1].set_xticks(major_ticks_bottom)
axes[1].set_yticks(major_ticks_bottom)
axes[1].set_title("Subplot 2")
axes[1].grid()

plt.tight_layout()
plt.show()

출력:

Matplotlib의 메이저 및 마이너 틱

두 개의 서브 플롯이있는 Matplotlib 그림을 표시합니다. Subplot 1에는 보조 및 주 그리드가 모두 있습니다. 보조 그리드는 간격이 1 단위이며 더 어두운 선으로 표시됩니다. 마찬가지로 주 그리드는 5 단위 간격으로 배치되고 더 밝은 선으로 표시됩니다.

minor=True를 사용하여set_yticks()또는set_xticks()함수에서 작은 눈금을 나타냅니다. which="major"를 사용하여major 틱에 해당하는 그리드를 선택하고which="major"를 사용하여minor 틱에 해당하는 그리드를 선택합니다.

grid()메서드의alpha 매개 변수는 그리드 선의 강도를 설정하는 데 사용됩니다. alpha값이 높을수록 격자 선이 더 어두워집니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn