python:由数组列表组成的字典的热图

时间:2016-03-28 18:42:17

标签: python dictionary heatmap

我有一个名为'dict'的词典,如下所示:

{'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中的每一个都是区间1到5的直方图。

现在我想为每个'arrayN'获取一个热图,其中:

y = dict.key()

x = bin number of dict.value()

color/z = dict.value()

换句话说,第一个点是y = 1005,x ='1'和color / z ='3',第二个点y = 1005,x ='2',color / z ='2'等

其他如何形象化的建议也非常受欢迎。

1 个答案:

答案 0 :(得分: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可以轻松地可视化数据。