Python, Pandas, Matplotlib을 사용하여 주어진 그래프에 수평선을 추가하는 방법
Python, Pandas, Matplotlib을 사용하여 주어진 그래프에 수평선을 추가하는 방법
라이브러리 불러오기
먼저 필요한 라이브러리를 불러옵니다.
import matplotlib.pyplot as plt
import pandas as pd
데이터 준비
예시 데이터를 생성합니다.
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
기본 그래프 생성
데이터를 기반으로 기본 그래프를 생성합니다.
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("y")
수평선 추가
axhline()
함수를 사용하여 원하는 y 값에 수평선을 추가합니다.
# y = 5에 수평선 추가
plt.axhline(y=5, color="red")
# y = 8에 수평선 추가
plt.axhline(y=8, color="blue")
# 스타일 지정
plt.axhline(y=5, color="red", linestyle="dashed")
그래프 출력
수평선이 추가된 최종 그래프를 출력합니다.
plt.show()
참고:
axhline()
함수는y
값만 입력하면 기본적으로 x축 범위에 걸쳐 수평선을 추가합니다.color
옵션으로 선 색상을 지정할 수 있습니다.linestyle
옵션으로 선 스타일을 지정할 수 있습니다.
추가 정보
예시 코드
import matplotlib.pyplot as plt
import pandas as pd
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("y")
# y = 5에 수평선 추가
plt.axhline(y=5, color="red", linestyle="dashed")
# y = 8에 수평선 추가
plt.axhline(y=8, color="blue")
plt.show()
실행 결과
한국어 튜토리얼
예제 코드
import matplotlib.pyplot as plt
import pandas as pd
# 데이터 준비
df = pd.DataFrame({"x": [1, 2, 3, 4, 5], "y": [2, 4, 6, 8, 10]})
# Pandas plot 사용
df.plot(x="x", y="y")
# y = 5에 수평선 추가
plt.axhline(y=5, color="red")
# y = 8에 수평선 추가
plt.axhline(y=8, color="blue")
# 스타일 지정
plt.axhline(y=5, color="red", linestyle="dashed")
# 그래프 출력
plt.show()
실행 결과
설명
- 이 예제 코드에서는 Pandas DataFrame을 사용하여 데이터를 준비하고,
plot()
함수를 사용하여 기본 그래프를 생성합니다. color
옵션으로 선 색상을 지정하고,linestyle
옵션으로 선 스타일을 지정합니다.
추가 정보
한국어 튜토리얼
수평선 추가를 위한 대체 방법
plt.hlines() 함수 사용
# y = [2, 5, 8]에 수평선 추가
plt.hlines(y=[2, 5, 8], xmin=0, xmax=5, colors=["red", "blue", "green"])
plt.plot() 함수 사용
axhline()
함수 없이 plt.plot()
함수를 사용하여 수평선을 직접 추가할 수 있습니다.
# y = 5에 수평선 추가
plt.plot([0, 5], [5, 5], color="red", linestyle="dashed")
# y = 8에 수평선 추가
plt.plot([0, 5], [8, 8], color="blue")
Matplotlib 객체 사용
Line2D
객체를 직접 생성하여 수평선을 추가하는 방법입니다.
# y = 5에 수평선 추가
line = plt.Line2D((0, 5), (5, 5), color="red", linestyle="dashed")
plt.add_line(line)
# y = 8에 수평선 추가
line = plt.Line2D((0, 5), (8, 8), color="blue")
plt.add_line(line)
각 방법의 장단점 비교
방법 | 장점 | 단점 |
---|---|---|
axhline() | 간단하고 직관적 | 여러 y 값에 동시에 추가하기 불편 |
hlines() | 여러 y 값에 동시에 추가 가능 | 코드가 다소 복잡 |
plot() | 유연하고 다양한 스타일 적용 가능 | 코드가 다소 복잡 |
Matplotlib 객체 사용 | 코드가 가장 직관적 | 코드가 다소 복잡 |
선택 가이드
- 간단한 경우:
axhline()
함수 사용 - 여러 y 값에 동시에 추가:
hlines()
함수 사용 - 다양한 스타일 적용:
plot()
함수 사용 - 더 많은 제어 필요: Matplotlib 객체 사용
python pandas matplotlib