matplotlib의 산점도로 연속적으로 색칠하기
3456 단어 파이썬데이터 과학matplotlib기계 학습
포인트로서는
1. cmap을 사용하여 연속 실수를 RGB 연속 값으로 변환
2.
plt.scatter()
에서 제공되는 facecolors
또는 edgecolors
인수 사용두 가지입니다.
(20/01/24 10:34 추가)
코멘트에서 더 쉬운 방법을 가르쳐 주셔서 아래 코드 예제를 수정했습니다.
@kochory 씨, 감사합니다!
코드 예
회귀 문제에 대한 데이터 세트 Boston housing의 저차원 임베디드와 목적 변수 (이번 예에서는 부동산 가격)를 산점도로 시각화했습니다.
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.manifold import TSNE
X, y = load_boston(return_X_y=True)
tsne = TSNE(n_components=2, random_state=0)
embX = tsne.fit_transform(X)
# 20/01/24 10:34 頂いたコメントをもとに修正
plt.scatter(embX[:, 0], embX[:, 1], c=y, cmap='coolwarm')
# 以下は追記前のコードです
# ポイント1: yをRGBAの配列に変換する
#cm = plt.get_cmap('coolwarm') # matplotlibのcolormapを取得
#normalized_y = (y -y.min()) / (y.max() - y.min()) # 目的変数yを0~1に正規化
#color_levels = (normalized_y * 256).astype(int) # yをさらに0~255に変換
#colors = [cm(cl) for cl in color_levels] # cm(cl)はRGBAのtupleを返す
# ポイント2: facecolorsの引数を指定する
#plt.scatter(embX[:, 0], embX[:, 1], s=10, facecolors=colors)
참고 URL
Reference
이 문제에 관하여(matplotlib의 산점도로 연속적으로 색칠하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hyt-sasaki/items/d2efa575a361fd75ec3b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)