0
meshgrid入力データを使用して散布図に色を設定しようとしています。私が使用しています コードは、次のいずれかです。私は値をfloatにカラーマップをchaneかの間Matplotlib散布図の色
could not convert string to float: 'b'
:このコードを実行する
xmesh = np.linspace(-5, 5, 30)
ymesh = np.linspace(-5, 5, 30)
xv, yv = np.meshgrid(xmesh, ymesh)
zv = a*xv+b*yv+C#a,b,c are some scalar constants
col = np.where(zv<0.5,'b','r')
plt.scatter(xv,yv,c=col)
plt.show()
は、次のエラーを返します
col = np.where(zv<0.5,0.1,0.2)
これは問題なく動作します。どんな考え?
エラーを投げるコードの一部を見たとき、私は次のような発言を参照してください。
# tuple color.
# Python 2.7/numpy 1.6 apparently require this to return builtin floats,
# not numpy floats.
try:
c = tuple(map(float, c))
はたぶん解決策を見つけるためにそこに理解するための何かがありますが、私はそれを
、あなたの配列をフラット化する必要があります( 'COL = np.where(ZV <0.5、 'B'、 'r' を)。(平ら)) ')。次に、上のコードは[このような](https://i.stack.imgur.com/agxHu.png)を生成します。なぜあなたのコードがうまくいかないのかを知るためには、ソフトウェアのバージョンなど、再現するのに必要なすべての情報を[mcve]に提供する必要があります。 – ImportanceOfBeingErnest
あなたの答えはThxです。しかし、なぜ私はカラー入力を平坦化する必要がありますか?ドキュメントから、私はcが2D配列として提供できることを理解していますか? – FenryrMKIII