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

python 그래프 이름을 여러개? plt.title 함수 완벽 정리

by 독학박사 2023. 8. 14.

목차


     파이썬을 사용하여 그래프를 그릴 때 그래프의 타이틀을 넣음으로써 무엇을 나타내는 그래프인지를 알게 합니다. plt.title() 함수를 사용하여 그래프의 이름을 넣게 되는데 우리가 지금까지 알지 못했던 내용들이 있어 이번 글에서 정리를 해 볼까 합니다. 그리 어려운 내용은 아니니 잘 기억해 뒀다가 잘 활용하시기 바랍니다.

     

    그래프에 타이틀 여러 개 넣기
    그래프에 타이틀 여러 개 넣기

     

     

    1. plt.title() 함수의 기본사용

     그래프의 이름을 넣기 위해 plt.title() 함수 안에 문자열을 넣으면 해당 문자열이 그래프의 타이틀로 나타납니다.

     

    import matplotlib.pyplot as plt
    
    # 그래프 생성 예시
    x = [1, 2, 3, 4, 5]
    y = [10, 20, 15, 25, 30]
    plt.plot(x, y, 'o--')
    
    # 제목 추가
    plt.title("Example Plot Title")
    
    plt.show()

     

    plt.title의 기본사용
    plt.title의 기본사용

     

     

    2. plt.title() 함수의 모습과 설정

     plt.title() 함수를 사용하여 그래프의 이름을 나타낼 때 항상 가운데 나타나는데 이는 설정에 따라 변경할 수 있습니다. 또한 그래프와 타이틀의 간격도 조정할 수 있습니다. plt.title() 함수의 기본 시그니처는 다음과 같습니다.

     

    plt.title(label, fontdict=None, loc=None, pad=None, **kwargs)

     

     함수의 인자 중 label은 필수 인자이며, 나머지는 title을 설정해 주는 역할을 합니다. 

     

    label: (문자열) - 그래프의 제목을 나타내는 문자열입니다. 함수 사용 시 필수 인자입니다.

    loc: (문자열 또는 정수) - 제목의 위치를 지정합니다. 가능한 값으로는 "center", "left", "right" 등의 문자열 또는 정수 값으로 제목의 위치를 상대적으로 조절할 수 있습니다. loc의 인자값을 넣지 않으면 가운데로 지정됩니다.
    pad: (숫자) - 제목과 그래프 사이의 간격을 설정합니다. 단위는 포인트(pt)입니다.

    fontdict: (사전) - 제목의 글꼴과 관련된 설정하는 인자로 dictionary 형태로 입력해야 합니다. 이 변수를 사용하여 글꼴 크기, 색상, 스타일 등을 설정할 수 있습니다.

    **kwargs: 기타 추가적인 키워드 인자를 받을 수 있습니다.

     

     

    3. plt.title() 설정에 대한 예제 코드

     위의 인자들이 어떻게 사용되는지 예제코드를 이용하여 확인해 보겠습니다. 아래의 코드에서는 plt.title() 함수를 두 번 사용했습니다. 하지만 나중에 나온 title 함수만 적용되어 그래프 이름은 하나만 나오는 것이 확인됩니다.

     

    import matplotlib.pyplot as plt
    
    # 그래프 생성 예시
    x = [1, 2, 3, 4, 5]
    y = [10, 20, 15, 25, 30]
    plt.plot(x, y, 'o--')
    
    # 제목 추가
    plt.title("Example Plot Title")
    
    # # 기타 스타일 관련 설정
    # # color: 글꼴 색상 설정
    # # fontweight: 글꼴 두께 설정 ("normal", "bold", "light", "heavy" 등)
    # # fontstyle: 글꼴 스타일 설정 ("normal", "italic", "oblique" 등)
    
    title_font = {
        'fontsize':16,
        'color':"blue",
        'fontweight':"bold",
        'fontstyle':"italic"
    }
    plt.title("Styled Plot Title", pad=20, fontdict=title_font)
    
    plt.show()

     

    title 두번 사용 시 한번만 적용
    title 두번 사용 시 한번만 적용

     

     

    4. 하나의 그래프에 타이틀을 여러 개?

     위에서 분명 title을 두 번 사용했음에도 하나의 타이틀만 나오는 것을 확인했습니다. 이는 타이틀의 위치를 별도로 지정하지 않았기 때문에 두 제목 모두 가운데 배치가 되면서 이전의 제목을 덮어 씌운 현상이 된 겁니다. 만일 각 타이틀의 위치를 별도로 지정한다면 두 개의 타이틀이 나타나게 됩니다.

     

    import matplotlib.pyplot as plt
    
    # 그래프 생성 예시
    x = [1, 2, 3, 4, 5]
    y = [10, 20, 15, 25, 30]
    plt.plot(x, y, 'o--')
    
    # 제목 추가
    plt.title("Example Plot Title", loc='left', pad=100)
    
    # # 기타 스타일 관련 설정
    # # color: 글꼴 색상 설정
    # # fontweight: 글꼴 두께 설정 ("normal", "bold", "light", "heavy" 등)
    # # fontstyle: 글꼴 스타일 설정 ("normal", "italic", "oblique" 등)
    
    title_font = {
    	'fontsize':16,
        'color':"blue",
        'fontweight':"bold",
        'fontstyle':"italic"
    }
    plt.title("Styled Plot Title", pad=20, fontdict=title_font)
    
    plt.show()

     

     위의 코드에서는 첫 번째 타이틀을 왼쪽에 배치함으로써 두 번째 타이틀과 겹치지 않게 표시된 것을 알 수 있습니다.

     

     pad 인자도 같이 사용해 봤는데 pad 인자의 원리를 설명드리려고 넣어봤습니다. 첫 번째 title에서 pad는 100이고 두 번째 title 함수에서 pad를 20으로 설정을 하게 되면 두 번째 pad 만 적용이 됩니다. 따라서 그래프와 제목의 옵셋을 주기 위해서는 마지막 plt.title() 함수에 pad 값만 적용하면 됩니다.

     

    타이틀 두 개를 표시한 그래프
    타이틀 두 개를 표시한 그래프

     

     

    5. 마치며

     파이썬의 matplotlib을 이용하여 그래프를 그릴 때 그래프의 이름을 나타내는 plt.title() 함수에 대해 알아보았습니다. plt.title() 함수를 여러 번 사용하면 제목을 여러 개 나타낼 수 있지만 각 제목의 위치를 지정해줘야 합니다. 위치에 따라 중복되지 않고 제목이 나타나게 되므로 제목을 3개가 한정이겠습니다.