2011-11-12 5 views
1

私はmatplotlibを使ってスキャターを描くことを学んでいます。しかし、バグがあり、それは色の引数と関連しているようです。誰も私にそのミスを説明できますか?私はグーグルで答えは見つかりませんでした。前もって感謝します。ValueError:引数タイプ<type 'bool'>をrgba配列に変換できませんか?

xActA = range(10) 
yActA = np.random.randn(10) 
xActQ = range(10) 
yActQ = np.random.randn(10) 
xRa = np.random.randn(10) 
yRa = np.random.randn(10) 

f1 = figure(1) 
scatter(xActA, yActA, c ='b', marker = 'o', facecolors = True, label = 'Answers') 
scatter(xActQ, yActQ, c ='r', marker = 'o', facecolors = True, label = 'Questions') 
xscale('log') 
yscale('log') 
title('User activity') 
xlabel('Number of posts') 
ylabel('Number of users') 
legend() 
f1.show() 
f1.savefig('figure7_test.png') 

答えて

1

あなたはブール値をfacecolorsに与えています。ただ、facecolor = Noneを作り、それが動作します

facecolor or facecolors: matplotlib color arg or sequence of rgba tuples 


パラメータは以下のように定義されます。 2つのプロットの色が同じになるので、これは必要ありません。パラメータを削除すると、自動色が得られます。カスタムカラーが必要な場合は、最も簡単な方法は、それらをmatplotlibの色( '黄色、赤'など)で指定することです。

+0

ありがとうございました。私はコードを変更しました:ax1 = scatter(xActA、yActA、color = 'blue'、s = 20)、そして新しいエラーがあります:ValueError:シーケンスで配列要素を設定する。そしてそこに散布点がないプロットがありますが、そこには何もありません。間違いは何ですか?どうもありがとう。 – AnneS

+0

@AnneSあなたが与えるデータからは言い難いです。これらの変更によって、それはまだ動作するはずです。だから問題はあなたが見せていないところです。新しいコードと**完全**トレースバックを別の質問に投稿してください。しかし、最初に、プログラムが動作するときにプログラムを理解し、失敗したことを変更したものを分析してみてください – joaquin

0

あなたがfacecolorsパラメータ、ないTrueのカラー値の配列を供給することになっているようですね。

関連する問題