私は次のように、クラブの会員の記録と自分たちの利益を持っている:プロット多次元データ
Member A: Football, Swimming
Member B: Swimming, Jooga, Jogging
Member C: Cycling, Football
Member D: Football, Tennis, Cycling
は、1つのメンバーが共有する異なる利害を見ることができるようにPythonでこれらをプロットすることが可能ですか?事前に感謝、Adia
私は次のように、クラブの会員の記録と自分たちの利益を持っている:プロット多次元データ
Member A: Football, Swimming
Member B: Swimming, Jooga, Jogging
Member C: Cycling, Football
Member D: Football, Tennis, Cycling
は、1つのメンバーが共有する異なる利害を見ることができるようにPythonでこれらをプロットすることが可能ですか?事前に感謝、Adia
単純なテーブルは、ベン図よりも多くの意味を成しているようだ:
import scipy, pylab
names = ['Alice', 'Bob', 'Carol', 'David']
interests = [['Football', 'Swimming'], ['Swimming', 'Jooga', 'Jogging'],
['Cycling', 'Football'], ['Football', 'Tennis', 'Cycling']]
allinterests = list(set(reduce(lambda x,y:x+y, interests)))
X = scipy.zeros((len(interests), len(allinterests)))
for i, indinterests in enumerate(interests):
for x in indinterests:
X[i, allinterests.index(x)] = 1
pylab.matshow(X, interpolation='nearest', cmap=pylab.cm.gray_r)
pylab.show()
pylab.yticks(range(len(names)), names)
pylab.ylim([len(names)-0.5, -0.5])
pylab.xticks(range(len(allinterests)), allinterests)
pylab.savefig('interests.png')
あなたはmatplotlibを見て、それに適したものを提供しているかどうかを見たいかもしれません。
Sage、別の代替。 this exampleも参照してください。
実際に私は私の質問を投稿する前にやりました。彼らの利益に反してメンバーをマッピングするのに適した何かを見つけることができませんでした。 Pythonについての私の限られた知識だと確信しています。 – Adia
私は答えにもう一つの選択肢を加えました。ベンダイアグラムのようなものがあなたのニーズに合うかもしれないと思います。ベン図の場合は –
+1。 –
自分のマシンに投稿したのとまったく同じコードを試していますが、最初と2番目のFORループのコロンに沿って「構文エラー」メッセージが表示されます。私はここで間違った構文を見ていないので、何が理由だろうか? – Adia
申し訳ありません。私は 'zeros'行に括弧を付けませんでした。編集されました。 –
スティーブ、ありがとう、ありがとう。 – Adia