2016-03-28 13 views
2

私はこのようになります「dictの」という名前の辞書持っているのリストからなる辞書のヒートマップ:のpython:配列

{'1005': [array1([3, 2, 5, 3, 4]), array2([1, 2, 5, 9, 0]), array3([4, 2, 6, 3, 2]), array4([2, 4, 6, 3, 2]), array5([3, 2, 5, 5, 2]), array6([1, 6, 4, 5, 1]), array7([3, 2, 4, 6, 2]), array8([3, 5, 2, 5, 2])]}) 

{'1006': [array1([1, 2, 5, 9, 0]), array2([4, 2, 6, 3, 2]), array3([2, 4, 6, 3, 2]), array4([3, 2, 5, 5, 2]), array5([1, 6, 4, 5, 1]), array6([3, 2, 4, 6, 2]), array7([3, 5, 2, 5, 2]), array8([3, 2, 5, 3, 4])]}) 

...など...

これらarrayNの各

y = dict.key() 

x = bin number of dict.value() 

color/z = dict.value() 

:5にビン1のヒストグラム

は、今私はどこ、各「arrayN」のヒートマップを取得したいですつまり、最初のポイントは、y = 1005、x = '1'、color/z = '3'、2番目のポイントy = 1005、x = '2'、color/z = '2'などです。

これを視覚化する方法の他の推奨事項も大歓迎です。

+0

ちょうどそれを1つの2D配列に変換してヒートマップにティックラベルとしてキーを渡すと、すべて – lejlot

+0

あなたは2つまたは3つ以上のポイントに正確な値を提供できますか?私は「1」と「2」がどこに来るかを決めることができません。 – aluriak

答えて

0

あなたの問題は、そのように製剤化することができる。

def make_color_function(n): 
    def color(y, x) 
     # N and x are 1-based 
     return data[y][n - 1][x - 1] 
    return color 

y_range = [1005, 1006] 
x_range = [1, 5] 

そして、あなたは何とかしてデータを視覚化するmake_color_function(1)(N == 1の場合)、x_rangey_rangeを使用しています。

問題を真剣に解決したい場合は、numpyとmatplotlibを見てください。 numpyを使用すると、便利なインデックス作成が可能になり、matplotlibを使用すると簡単にデータを視覚化できます。