CircleCollectionを返すmatplotlibに散布図がある場合:
coll = plt.scatter(rand(5), rand(5), c="k")
特定のポイントの色をリセットするにはどうすればよいですか?coll
私はそれが反復可能ではないことに気づきました。plt.scatter
最初の呼び出しからすでに色が設定されていますが、すでにプロットされているポイントの面/エッジの色を変更したいだけです。これはどのように行うことができますか?
例:プロットされた2番目のポイントの色を変更するだけです。例:
coll[1].set_color("r") # this does not work, coll not indexable this way
c=
色のベクトルをinに渡すことができることは知っていますが、が最初に呼び出さscatter
れた時点ではすべてのポイントの色がわからないため、後で意図的にポイントをリセットしたいと思います。plt.scatter
編集:詳細な説明。さまざまな条件に基づいて、スキャッター内のポイントに色を付ける最も簡単な方法を探しています。points
が2次元配列であり、を使用してプロットする場合は、後で特定の条件に基づいてプロットすると便利scatter(points[:, 0], points[:, 1], c-"k")
です。
# replot certain points in red with alpha
selected = points[:, 0] > 0.5
plt.scatter(selected[:, 0], selected[:, 1], c="r", alpha=0.5)
ここでは古いポイントを再プロットしますが、新しいポイントはアルファでプロットされているため、これは面倒です。そのため、目的の効果が得られません。ポイントの色を変更する必要があるさまざまな条件は複雑で、最初のスキャッターが作成されたときよりも遅く発生する可能性があるため、ポイントを分割するのではなく、既存のポイントの色を変更できるようにするだけで便利です。条件に基づいて、それらをすべて別々にプロットします。