본문 바로가기
공부 목록/IT & 프로그래밍

파이썬 pyplot의 메서드를 이용한 그래프를 설정하는 방법들

by 독학박사 2023. 5. 22.

목차


     파이썬 라이브러리인 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을 이용하여 그래프를 그릴 경우 그래프의 세팅을 통해 완벽한 그래프 형태를 만들 수 있습니다. 보고자료나 리포트 제출을 위해서라면 이러한 세팅방법을 잘 익혀서 활용해야 됩니다.

    댓글