목차
파이썬 라이브러리인 matplotlib을 이용하여 그래프를 그리고 나면 뭔가 좀 허전함을 느낄 수 있습니다. x축과 y축의 이름이나, 그래프의 타이틀, x 또는 y축의 범위 등을 세팅하여 보다 있어 보이는 그래프를 그리기 위해서는 pyplot에서 제공하는 메서드를 활용하여 디테일 세팅을 해야 합니다. 오늘은 그래프 설정을 위한 메서드들에는 어떤 것들이 있는지와 어떻게 값을 설정하는지 그 방법을 알아보도록 하겠습니다.
1. pyplot의 그래프 세팅 메서드들
matplotlib의 pyplot에는 그래프를 세팅할 수 있는 많은 메서드들이 있습니다. 오늘은 그중에서도 허전한 그래프를 좀 더 완벽하게 보일 수 있는 세팅 메서드들에 대해 정리해 보겠습니다. 각 메서드들의 설명과 사용예시는 아래를 참조하세요
plt.title(): 그래프의 제목을 설정합니다.
사용 예시: plt.title("Graph Title")
plt.xlabel(): x축의 레이블을 설정합니다.
사용 예시: plt.xlabel("X-axis Label")
plt.ylabel(): y축의 레이블을 설정합니다.
사용 예시: plt.ylabel("Y-axis Label")
plt.xlim(): x축의 범위를 지정합니다.
사용 예시: plt.xlim(0, 10) (x축 범위를 0부터 10까지로 설정)
plt.ylim(): y축의 범위를 지정합니다.
사용 예시: plt.ylim(0, 20) (y축 범위를 0부터 20까지로 설정)
plt.xticks(): x축의 눈금(ticks)을 설정합니다.
사용 예시: plt.xticks([1, 2, 3, 4, 5]) (x축 눈금으로 1, 2, 3, 4, 5를 사용)
plt.yticks(): y축의 눈금(ticks)을 설정합니다.
사용 예시: plt.yticks([0, 5, 10, 15, 20]) (y축 눈금으로 0, 5, 10, 15, 20을 사용)
plt.legend(): 범례(legend)를 추가합니다.
사용 예시: plt.legend(["Label 1", "Label 2", "Label 3"]) (범례에 "Label 1", "Label 2", "Label 3"을 표시)
plt.grid(): 그리드(grid)를 표시합니다.
사용 예시: plt.grid(True) (그리드를 활성화)
plt.axhline(): 수평선(horizonal line)을 그립니다.
사용 예시: plt.axhline(y=5, color='r', linestyle='--') (y값이 5인 빨간색 점선의 수평선을 그림)
plt.axvline(): 수직선(vertical line)을 그립니다.
사용 예시: plt.axvline(x=3, color='g', linestyle='-') (x값이 3인 녹색 실선의 수직선을 그림)
plt.text(): 텍스트를 그래프에 추가합니다.
사용 예시: plt.text(2, 10, "Example Text") (좌표 (2, 10)에 "Example Text" 텍스트를 추가)
plt.annotate(): 화살표와 텍스트를 그래프에 추가합니다.
사용 예시: plt.annotate("Example", xy=(1, 3), xytext=(2, 5), arrowprops=dict(facecolor='black', arrowstyle='->')) (좌표 (1, 3)에 "Example" 텍스트를 추가하고, 화살표를 좌표 (2, 5)로 그림)
2. 그래프 설정 메서드 사용 예제 코드
각 메서드들이 어떻게 작동하는지 알아보기 위해 아래와 같이 예제 코드를 작성해 보았습니다. 각 주석의 내용들과 결과 그래프를 같이 확인해 보면 도움이 될 겁니다. 특히 annotate나 text의 그래프의 좌표값을 이용해야 하는 메서드로 사용하기는 까다로우나 잘 사용한다면 멋진 그래프를 완성할 수 있습니다.
import matplotlib.pyplot as plt
# 새로운 그림(figure) 생성
fig = plt.figure()
# 서브플롯(subplot) 생성
ax = fig.add_subplot(111)
# 데이터 설정
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 그래프 그리기
ax.plot(x, y)
# 그래프 설정
ax.set_title('Example Graph') # 제목 설정
ax.set_xlabel('X-axis') # x축 레이블 설정
ax.set_ylabel('Y-axis') # y축 레이블 설정
ax.set_xlim(0, 6) # x축 범위 설정
ax.set_ylim(0, 12) # y축 범위 설정
ax.set_xticks([1, 2, 3, 4, 5]) # x축 눈금 설정
ax.set_yticks([2, 4, 6, 8, 10]) # y축 눈금 설정
ax.legend(['Data']) # 범례 추가
ax.grid(True) # 그리드 표시
# 수평선 추가
ax.axhline(y=5, color='r', linestyle='--')
# 텍스트 추가
ax.text(2, 9, 'Example Text', fontsize=12)
# 화살표와 텍스트 추가
ax.annotate('Example Annotation', xy=(3, 6), xytext=(4, 8),
arrowprops=dict(facecolor='black', arrowstyle='->'))
# 그래프를 이미지 파일로 저장
# plt.savefig('example_graph.png')
# 그래프 표시
plt.show()
3. 마치며
matplotlib의 pyplot을 이용하여 그래프를 그릴 경우 그래프의 세팅을 통해 완벽한 그래프 형태를 만들 수 있습니다. 보고자료나 리포트 제출을 위해서라면 이러한 세팅방법을 잘 익혀서 활용해야 됩니다.
댓글