Python/Matplotlib

[Python] 파이썬 matplotlib 그래프 범례 표시하기 (폰트 크기, 위치, 테두리)

나비🦋 2024. 5. 2. 22:21
반응형

안녕하세요! 나비입니다 🦋

이번 포스팅에서는 파이썬 matplotlib를 통해 그래프에 범례를 표시하는 메소드와 파라미터를 소개하려고 합니다.

matplotlib에서 범례를 표시하는 메소드 이름은 legend()입니다. 이 메소드 안에 다양한 파라미터들이 있는데요, 그 중 폰트 크기, 위치, 테두리 파라미터를 설명할 예정입니다.


우선, 가장 기본적인 예제 코드를 보여드리겠습니다.


그래프 범례 표시하기

import matplotlib.pyplot as plt
import numpy as np

x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]

plt.plot(x, np.square(x), label=“loss”)
plt.legend()
plt.show()


plot 메소드 안에 label 파라미터로 범례 이름(string)을 넣어주고, legend 메소드를 아무런 인수 없이 작동시키면 위 그래프처럼 범례가 생성됩니다. (가장 기본적인 손실함수를 그려봤어요,,)



범례 폰트 크기 설정하기

import matplotlib.pyplot as plt
import numpy as np

x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
plt.plot(x, np.square(x), label = “loss”)
plt.legend(fontsize = 20)
plt.show()

legend의 fontsize 파라미터를 이용해서 글자 크기를 바꿔줄 수 있습니다. 폰트 크기를 20으로 키웠더니 범례 상자의 위치도 이동하는데요, 이는 loc 파라미터가 best로 설정되어 있기 때문에 자동으로 이동한 겁니다. 이제 loc 파라미터로 가보겠습니다!



범례 위치 설정하기

import matplotlib.pyplot as plt
import numpy as np

x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
plt.plot(x, np.square(x), label=“loss”)
plt.legend(loc = “lower right”)
plt.show()

loc 파라미터를 통해 그래프 상에서 범례의 위치를 설정해줄 수 있습니다. loc 파라미터에 들어갈 수 있는 옵션으로는 upper right, upper left, upper center, lower right, lower left, lower center 등이 있습니다. 위 그래프는 lower right로 설정한 결과입니다.




범례 테두리 설정하기

import matplotlib.pyplot as plt
import numpy as np

x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
plt.plot(x, np.square(x), label = “loss”)
plt.legend(frameon = True, shadow = True)
plt.show()

frameon 파라미터를 통해 테두리 여부를 설정할 수 있고, 테두리가 있을 경우 shadow 파라미터를 통해 그림자 여부를 설정할 수 있습니다.

디폴트는 frameon = True, shadow = False 입니다.

그림 상에서는 frameon = True, shadow = True 로 설정하였습니다.

반응형