コンテキストPythonの:無効な引数RGBA 0.0カラーポイントは、クラス
によると、私はいくつかの点
points = np.random.uniform(0,10, size = (10,2))
# array([[ 7.35906037, 6.50049804],
[ 3.21883403, 3.81452312],
[ 3.52107154, 1.68233797],
[ 1.47699577, 6.01692348],
[ 3.76051589, 0.25213394],
[ 8.93701081, 5.20377479],
[ 6.5347188 , 2.12940006],
[ 3.62550069, 5.80619507],
[ 1.33393325, 5.0088937 ],
[ 6.99034593, 7.40277623]])
を持っていると、彼らは "分類" または標識されています。これは私がリスト
points
の各点のラベル(順番に)を表し
labels = np.random.randint(0,3, size = 10)
# array([2, 0, 1, 2, 2, 1, 1, 0, 1, 2])
を有することを意味します。
私はまた、いくつかの余分なポイントに
extraPoints = np.random.uniform(0,10, size = (3,2))
# array([[ 1.91211141, 3.71208978],
# [ 8.10463536, 1.88948511],
# [ 9.79796593, 3.39432552]])
を持っている基本的にはこれらの点のそれぞれは、クラスラベルを決定します。どのようにラベルを決定したかは問題ではありません。しかし、あなたが知っておかなければならないのは、これらの余分なポイントのそれぞれが1つの唯一のラベルに関連付けられていることです。したがって、余分なポイントとラベルの可能性は同じです。私は散布図をやりたい
問題
。私はextraPoints
の各ポイントに異なる色を割り当てたいので、この色は各クラスに対応しています。これは、基本的にextraPoints[0]
がクラス0
に関連付けられ、extraPoints[1]
がクラス1
に関連付けられ、extraPoints[2]
がクラス2
に関連付けられることを意味します。
また、points
に点を散布したいと思います。 points
の各ポイントは、対応するラベルlabels
に関連付けられていることに注意してください。 たとえば、[ 7.35906037, 6.50049804]
は、クラス2
にあり、したがって、同色のextraPoints[2] = [ 9.79796593, 3.39432552]
です。同様にpoints
のポイント[ 3.21883403, 3.81452312]
はlabels
にクラス0
に関連付けられているので、しかし、私は本当にどのように理解していない
私はplt.scatter()
でc
引数を使用してみました試みるextraPoints[0] = [ 1.91211141, 3.71208978]
私の同じ色を持っています"無効なRGBA引数0.0"と表示されることもありますが、それは任意です。
points
とextraPoints
を区別するために、私はextraPoints
をより大きく透明にするつもりです。
import matplotlib.pyplot as plt
# I scatter the points, and assign c to labels. So hopefully each
# point that ends up in the same label will have the same
# color? I think this part is fine, although I am not sure
plt.scatter(points[:,0], points[:,1], c = labels)
plt.scatter(extraPoints[:,0], extraPoints[:,1], s = 100, alpha = 0.3, c = np.arange(len(extraPoints)))
あなたは別の実行のために、あなた自身のために試してみてください(毎回ので、我々は、ランダムな配列を持っている)我々は正しい(あるいはほとんど)それを得る可能性がありますいずれか、またはタイトルのエラーを取得することができたよう。なぜこれが起こるのですか?このような状況を考えるとブレーブス
-for
エクストラ、私はラベルやextraPointsの種類(すなわち3を持っているとして、私はまた、いくつかの値
values = np.random.uniform(0,50, size = 3)
# array([ 14.63459424, 37.41573654, 34.45202082])
は、私は同じ数の値を持っていたと想像この場合)。現在、これらはそれぞれ対応するextraPointに関連付けられています。したがって、最初のextraPointなどの最初の値。
私は上記のプロットを実行したいと思いますが、色は小さな値の場合はより明るく、大きい値の場合は暗い色のグラデーションになります(またはその反対)。どうやってやるの?私はカラーマップについて読みましたが、私はそれを自分の問題と完全に統合できません。
例
をあなたが見ることができるように、私は色を制御することはできません。それだけでなく、クラスにどのポイントが含まれているのか分かりません(戻って手動で各ポイントを見ない限り、明らかに私はこれを望んでいません)。これが(そして私がここでカバーしない他の理由)なぜvalues
の値に基づいて色付けしたいのかという理由です。私は「最強」であるクラスを知っているように、具体的には、私は、私の点の色を導くことができる値[10, 20 30]
の範囲を持っている、と言う希望
最初の問題はタイプミスであり、修正されました。あなたは正しいです、3x2配列でなければなりません –
2番目の問題について私は 'c = np.arange(len(extraPoints)) 'を使用することができます –
こうして2番目の問題を修正すると、色を持つ' extraPoints' 'points'にはその色がありません。それはそれらのケースをカバーします。 –