matplolib/기본&입문
그래프에 범례(legend) 추가하기
JackSmith
2023. 3. 7. 21:00
이번시간에는 matplotlib에서 그래프를 그릴때, 범례를 추가하는 방법과, 그 표현 두가지를 실제로 해보도록 하겠습니다.
범례가 뭔지에 대해 잠깐만 짚고 가자면,
저희가 그래프를 그릴때, 한개의 좌표평면 위에 여러개의 그래프를 그리는 경우가 있는데,
한두개 정도면 괜찮지만, 너무 많아지만, 어떤 그래프가 뭘 의미하는지 독자 입장에서 차트를 분석하기가 상당히 어려워집니다.
저희가 도화지에 여러개의 색이 다른선을 그려놓으면, 너무 난잡해보이듯이 말이죠?
따라서 이럴때, 각 선이 무엇을 의미하는지, 안내해주는 표지판 역할을 하는 것을 범례라고 하고요, 보통 좌표평면의 우측상단이나, 좌측상단에 이를 배치합니다.
(이번시간에는 좌측상단에만 배치해보도록 하겠습니다)
저희는 matplotlib을 통해, 위 그래프를 표현해보도록 하겠습니다.
Y1: y=x^2
Y2: y=x^2 + 5000
한가지 주의할거는, 제가 위 식에서는 제곱을 ^으로 표현했는데요!
C 또는 C++ 에서는 제곱을 표현할때 ^을 사용하지만,
Python에서는 제곱을 쓸때, **을 사용한답니다!
만약 잘못사용한다면,
위처럼 에러가 납니다ㅜㅠㅋ
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 100, 100)
y1 = x**2
y2 = x**2 + 1000
plt.plot(x, y1, label='Y1')
plt.plot(x, y2, label='Y2')
plt.legend() #위에서 label속성에 값을 넣어주더라도, lenged()를 써주지 않으면 카테고리 구현 불가
plt.show()
위와 같이 작성해주고 실행해주면, 그래프를 그려주는데요!
아래와 같이 legend함수 안에 label을 입력하는것도 가능합니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 100, 100)
y1 = x**2
y2 = x**2 + 1000
plt.plot(x, y1)
plt.plot(x, y2)
plt.legend(('Y1','Y2'))
plt.show()
결과는 모두 동일합니다! 수고하셨습니다!

참고 및 출처>
https://pyvisuall.tistory.com/55