Matplotlib axhline은 Python에서 플롯에 수평선을 추가하는 강력한 도구입니다. 이 기사는 matplotlib axhline 함수에 대한 심층 탐구, 다양한 용도 및 데이터 시각화 프로젝트에서 효과적으로 활용하는 방법을 제공합니다. 기본 사용법부터 고급 기술까지 모든 것을 다루어 이 필수 matplotlib 기능에 대한 철저한 이해를 보장합니다.
Matplotlib axhline 추천 기사
Matplotlib axhline의 기본 이해
Matplotlib axhline은 플롯에 수평선을 추가할 수 있는 함수입니다. 이 선들은 플롯의 전체 너비를 차지하거나 특정 x축 범위로 제한될 수 있습니다. axhline 함수는 평균, 임계값 또는 데이터의 기준점과 같은 특정 y값을 강조하는 데 특히 유용합니다.
matplotlib axhline의 기본 사용법을 보여주기 위해 간단한 예제로 시작해 보겠습니다:
import matplotlib.pyplot as plt
plt.figure(figsize=(8, 6))
plt.axhline(y=0.5, color='r', linestyle='--')
plt.title('기본 Matplotlib Axhline 예제 - how2matplotlib.com')
plt.xlabel('X축')
plt.ylabel('Y축')
plt.text(0.5, 0.6, 'y=0.5에서의 수평선', horizontalalignment='center')
plt.show()
출력:
이 예제에서는 matplotlib axhline을 사용하여 y=0.5에서 수평 빨간 점선을 그립니다. axhline 함수는 y 좌표를 첫 번째 인수로 호출하며, 그 뒤에 색상 및 선 스타일에 대한 선택적 매개변수가 옵니다.
Matplotlib axhline 모양 사용자 정의하기
matplotlib axhline의 강점 중 하나는 사용자 정의 측면에서의 유연성입니다. 시각화 요구에 맞게 선의 다양한 속성을 조정할 수 있습니다. 이러한 사용자 정의 옵션 중 일부를 살펴보겠습니다:
선 색상 및 스타일
matplotlib axhline의 색상과 스타일을 쉽게 변경할 수 있습니다:
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
plt.axhline(y=0.3, color='blue', linestyle='-', linewidth=2)
plt.axhline(y=0.6, color='green', linestyle='--', linewidth=1.5)
plt.axhline(y=0.9, color='red', linestyle=':', linewidth=3)
plt.title('사용자 정의 Matplotlib Axhline 스타일 - how2matplotlib.com')
plt.xlabel('X축')
plt.ylabel('Y축')
plt.show()
출력:
이 예제는 세 가지 다른 matplotlib axhline 스타일을 보여줍니다: 실선, 점선 및 점선으로 다양한 색상과 선 너비를 사용합니다.
선 투명도
matplotlib axhline의 투명도를 alpha 매개변수를 사용하여 조정할 수도 있습니다:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure(figsize=(10, 6))
plt.plot(x, y)
plt.axhline(y=0, color='r', linestyle='--', alpha=0.5)
plt.title('Matplotlib Axhline with Transparency - how2matplotlib.com')
plt.xlabel('X축')
plt.ylabel('Y축')
plt.show()
출력:
이 예제에서는 사인 파형을 플로팅하고 matplotlib axhline을 사용하여 y=0에 반투명 빨간 점선을 추가합니다.
Matplotlib의 Axhline을 사용한 데이터 분석
Matplotlib axhline은 데이터를 분석하고 중요한 값을 강조할 때 특히 유용합니다. 몇 가지 실용적인 응용 프로그램을 살펴보겠습니다:
평균 값 강조하기
데이터셋의 평균 값을 강조하기 위해 matplotlib axhline을 사용할 수 있습니다:
import matplotlib.pyplot as plt
import numpy as np data = np.random.randn(1000)
mean = np.mean(data) plt.figure(figsize=(10, 6))
plt.hist(data, bins=30, alpha=0.7)
plt.axhline(y=mean, color='r', linestyle='--', label=f'Mean: {mean:.2f}')
plt.title('히스토그램과 평균선 - how2matplotlib.com')
plt.xlabel('값')
plt.ylabel('빈도')
plt.legend()
plt.show()
출력:
이 예제는 무작위 데이터의 히스토그램을 생성하고 matplotlib axhline을 사용하여 평균 값에 선을 그립니다.
임계값 시각화
Matplotlib axhline은 시계열 데이터에서 임계값을 시각화하는 데 사용할 수 있습니다:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(42)
x = np.linspace(0, 10, 100)
y = np.cumsum(np.random.randn(100))
plt.figure(figsize=(10, 6))
plt.plot(x, y)
plt.axhline(y=5, color='g', linestyle='--', label='상한선')
plt.axhline(y=-5, color='r', linestyle='--', label='하한선')
plt.title('임계값이 있는 시계열 - how2matplotlib.com')
plt.xlabel('시간')
plt.ylabel('값')
plt.legend()
plt.show()
출력:
이 예제에서는 무작위 보행을 플로팅하고 matplotlib axhline을 사용하여 상한선과 하한선 라인을 추가합니다.
Matplotlib의 Axhline을 이용한 고급 기법
기본 사항을 다루었으니, matplotlib axhline을 사용하여 좀 더 고급 기술을 탐구해 봅시다.
서브플롯에서 여러 Axhlines
여러 서브플롯에서 서로 다른 데이터 세트를 비교하기 위해 matplotlib axhline을 사용할 수 있습니다:
import matplotlib.pyplot as plt
import numpy as np np.random.seed(42)
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 2 fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 10))
ax1.hist(data1, bins=30, alpha=0.7)
ax1.axhline(y=np.mean(data1), color='r', linestyle='--', label=f'평균: {np.mean(data1):.2f}')
ax1.set_title('데이터셋 1 - how2matplotlib.com')
ax1.legend()
ax2.hist(data2, bins=30, alpha=0.7)
ax2.axhline(y=np.mean(data2), color='g', linestyle='--', label=f'Mean: {np.mean(data2):.2f}')
ax2.set_title('데이터셋 2 - how2matplotlib.com')
ax2.legend()
plt.tight_layout()
plt.show()
출력:
이 예제는 두 개의 서브플롯을 생성하며, 각 서브플롯에는 히스토그램과 평균 값을 나타내는 matplotlib axhline이 포함됩니다.
Axhline과 다른 플롯 유형 결합하기
Matplotlib axhline은 더 유익한 시각화를 만들기 위해 다른 플롯 유형과 결합될 수 있습니다:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(figsize=(10, 6))
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.axhline(y=0, color='k', linestyle='--', alpha=0.5)
plt.axhline(y=1, color='r', linestyle=':', alpha=0.5)
plt.axhline(y=-1, color='r', linestyle=':', alpha=0.5)
plt.title('사인과 코사인 및 기준선 - how2matplotlib.com')
plt.xlabel('X축')
plt.ylabel('Y축')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
출력: