###実現したいこと
1.png|220 |190 |192 |194 |195|〜
|:--|:--:|--:|
2.png|165 |143 |144 |145 |146
3.png|179 |179 |176 |169 |169
4.png|166 |143 |145 |145 |146
5.png|164 |142 |143 |144 |145
〜
画像の名前と画像をマトリクス化したcsvを用意し、1.pngがグラフ上のどこにプロットされているか、分かるにようにしたい
**
matplotlibで出力した散布図の点とcsvの元データと関連付ける方法を探しています。
**
・csvのデータが散布図上のどこにあるか簡単に分かる方法
・それを行うためのコード
をご教授お願いします。
(例)・散布図とは別に(画像の名前,x,y)と出力
・散布図のプロットにマウスを近づけると画像の名前が表示される
###現状
100枚の画像をマトリクス化したもののみが格納してあるcsvを取り込み、主成分分析をかけて散布図に出力。
# coding:utf-8 import numpy as np from sklearn.decomposition import PCA import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap #csvを取り込み users = np.genfromtxt('/home/srl/mimamori1/b1/pca121.csv',dtype=None, delimiter=",") colors=['blue','red'] cmap = ListedColormap(colors) #PCA pca = PCA(n_components=2) users_r = pca.fit_transform(users) #グラフにプロット plt.figure() ccode=[1]*50+[2]*50 plt.scatter(users_r[:,0],users_r[:,1],alpha=0.5,c=ccode,cmap=cmap) plt.xlabel('pc1') plt.ylabel('pc2') plt.show()
pca121.csvの中は横80×40マス、縦が100マス
1行が画像1枚分のデータです。数値のみが格納されています。
|220 |190 |192 |194 |195|〜
|:--|:--:|--:|
165 |143 |144 |145 |146
179 |179 |176 |169 |169
166 |143 |145 |145 |146
164 |142 |143 |144 |145
〜
###試したこと
散布図の各要素に文字をつけるを参考に点一つ一つに文字を付けて見たのですが、今後10万以上のデータを扱うので文字だらけになってしまうこちらの手法は自分のプロジェクトに馴染まないと判断しました。大量のデータの中でも一つ一つを区別できる方法がないものかと、ご教授お願いしたく質問するに至りました。
###補足情報(言語/FW/ツール等のバージョンなど)
python2.7 ,lunux
回答1件
あなたの回答
tips
プレビュー