Matplotlib에서 산점도의 범례를 만드는 방법

범례는 단순히 그림의 다양한 요소에 대한 설명입니다. matplotlib.pyplot.legend
함수를 사용하여 산점도 범례를 생성 할 수 있습니다.
Matplotlib의 2D 산점도에 범례 추가
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]
plt.scatter(x, y1, marker="x", color="r", label="x**2")
plt.scatter(x, y2, marker="o", color="b", label="2*x+1")
plt.legend()
plt.show()
출력:
그림에는 두 개의 개별 산점도가 있습니다. 하나는 x
로 표시되고 다른 하나는 o
표시로 표시됩니다. 범례를 생성하는 동안 태그로 사용되는 각 산점도에 label
을 할당합니다. 그런 다음legend()
함수를 사용하여 Figure에 범례를 만들고 마지막으로show()
메서드를 사용하여 전체 Figure를 표시합니다.
또한 레이블의 튜플을legend()
메서드에 인수로 직접 전달하고legend()
메서드의loc
매개 변수를 사용하여 범례의 위치를 변경할 수도 있습니다.
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]
plt.scatter(x, y1, marker="x", color="r")
plt.scatter(x, y2, marker="o", color="b")
plt.legend(("x**2", "2*x+1"), loc="center left")
plt.show()
출력:
이 프로세스는 두 개의 산점도와 범례가 좌표축 테두리 상자의 왼쪽 중앙에 배치 된 그림을 만듭니다.
Matplotlib의 3D 산점도에 범례 추가
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 1, 4, 5, 6]
z1 = [i + j for (i, j) in zip(x, y)]
z2 = [3 * i - j for (i, j) in zip(x, y)]
axes = plt.subplot(111, projection="3d")
axes.plot(x, y, z1, "x", label="x+y")
axes.plot(x, y, z2, "o", label="3*x-y")
plt.legend(loc="upper left")
plt.show()
출력:
3D
산점도에 대한 범례를 만들려면scatter()
메서드 대신plot()
메서드를 사용합니다. 이는legend()
메서드가Axes3D
인스턴스의scatter()
메서드가 반환 한Patch3DCollection
을 지원하지 않기 때문입니다.
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn