2017-04-20 1 views
0

いくつかの点を表示したい。ここに私のコードは次のとおりです。Python matplotlib scatter - 1つのスキャターで異なるマーカー

plt.scatter(y[:,0],y[:,1],c=col) 
plt.show() 

そしてcolとして私が持っている:

Col: [1 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 
0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 
1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0] 

だから私は2つの異なる色でポイントを持っています。しかし、私はまた2つの異なるマーカーを持っていたい。どうしたらいいですか? markers=colはエラーを示します。

答えて

1

マーカーごとに1つの散布図を使用する必要があります。

markers = ["s","o"] 
for i, c in enumerate(np.unique(col)): 
    plt.scatter(y[:,0][col==c],y[:,1][col==c],c=col[col==c], marker=markers[i]) 
2

Matplotlibは1回の呼び出しでさまざまなマーカーをサポートしません。 scatterへの2つの異なる呼び出しを使用する必要があります。

plt.scatter(y[col == 0, 0], y[col == 0, 1], marker='o') 
plt.scatter(y[col == 1, 0], y[col == 1, 1], marker='+') 
+0

ありがとうございます! –

関連する問題