如何创建热图矩阵并生成基于“热量”的区域。在Python?

时间:2016-01-20 23:05:38

标签: python matplotlib cluster-analysis heatmap

给定一组点(x,y,'加热'),

$groups = Get-ADGroup -Filter * -SearchBase 'OU=BI-Security,OU=BH-Security Groups,DC=bh,DC=intra'
$groups |Select-Object @{Expression={$_.Name};Label='Group Name'},@{Expression={@(Get-ADGroupMember -Identity $_|Select -Expand Name) -join ';'};Label='Name'} | Export-CSV C:\Scripts\BIGroups.CSV -NoTypeInformation -append

如何生成热图矩阵并划分热区(硬)?

以这样的方式,给定一个点,可以获得同一区域内的所有点。

PS: 从Generate a heatmap in MatPlotLib using a scatter data set开始,我知道如何生成区域图,但不知道如何生成区域'矩阵' (因此,给定一个属性,它表示它在哪个区域)。

1 个答案:

答案 0 :(得分:0)

我想这取决于你如何做热图,但假设你使用了你链接的帖子中的第一个例子:

import numpy as np
import numpy.random
import matplotlib.pyplot as plt

# Generate some test data
x = np.random.randn(8873)
y = np.random.randn(8873)

heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]

plt.clf()
plt.imshow(heatmap, extent=extent)
plt.show()

所以,如果您有关于带有(a,b)的点的请求,您需要在a中找到xedges的最近值的位置(让我们称之为a_heatmap }}),byedges)中b_heatmap的最近值的位置,然后通过以下方式查找返回值:

heatmap[a_heatmap, b_heatmap]