pyplot.scatter
은 그룹에 해당하는 배열을 c=
으로 전달하여 해당 그룹을 기준으로 포인트를 표시합니다. 그러나 이것은 각 그룹을 개별적으로 플로팅하지 않고 범례를 생성하는 것을 지원하지 않는 것으로 보입니다.plt.scatter를 여러 번 호출하지 않고 범례가있는 분산 형 플롯
그래서, 예를 들면, 그룹의 반복 각각 개별적 플로팅 생성 할 수있는 컬러 기와 산점도 : 생성
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
feats = load_iris()['data']
target = load_iris()['target']
f, ax = plt.subplots(1)
for i in np.unique(target):
mask = target == i
plt.scatter(feats[mask, 0], feats[mask, 1], label=i)
ax.legend()
는 :
I를 달성 할 그래도 각 그룹을 반복하지 않고도 비슷한 음모를 꾸밀 수 있습니다.
f, ax = plt.subplots(1)
ax.scatter(feats[:, 0], feats[:, 1], c=np.array(['C0', 'C1', 'C2'])[target])
그러나이 두 번째 전략을 사용하여 해당 범례를 생성하는 방법을 알 수 없습니다. 내가 본 모든 예제는 그룹을 반복하며 이상적인 것 같지 않습니다. 전 수동으로 전설을 생성 할 수 있지만 다시 지나치게 성가신 것 같습니다.
나는 당신이 seaborn에서 이것을 간단하게 할 수 있다는 것을 알고 있지만, 실제 사용 사례 (3D scatter plot을 그렸을 때) seaborn은 지원하지 않습니다. 두건의 밑에 seaborn는 작의를 실제로하기 위하여 matplotlib를 사용하고있다 - 나는 seaborn가 쌍벌 플롯 (또는 regplot)에서 산란 플롯과 관련 수치 범례를 어떻게 생성 하는지를 살펴볼 수 있다고 생각한다. 내 생각 엔 첫 번째 예제 코드처럼 그룹을 반복하고있다. – user3014097