エッジカラーのカラーマップを使用して、フェイスカラーを使用しない散布図が必要です。を使用するfacecolor='None'
と動作しません。
import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radii
plt.scatter(x, y, s=area,c=colors,facecolors='None',cmap="gist_rainbow", alpha=0.5)
plt.show()
解決策はありますか?
c
引数は、simultaneouly引数をFaceColorととにEdgeColorに影響を与えますfacecolor
し、edgecolor
それ故に無視されます。
解決策は、c
引数をカラーマップと一緒に使用するのではなくfacecolors
、edgecolors
単独で使用することです。この場合、facecolors
に設定して"None"
、edgecolors
使用する色のリストを指定できます。
このリストを作成するには、同じカラーマップを適用できます。
c = plt.cm.gist_rainbow(colors)
plt.scatter(x, y, s=area,facecolors="None", edgecolors=c, lw=1,alpha=0.5)
完全な例:
import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radii
c = plt.cm.gist_rainbow(colors)
plt.scatter(x, y, s=area,facecolors="None", edgecolors=c, lw=2,alpha=0.5)
plt.show()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加