Python热图(基本和复杂)

时间:2017-06-17 01:43:05

标签: python matplotlib graphics heatmap bokeh

在python(2.7)中进行热图的最佳方法是什么?我找到了heatmap.py模块,我想知道人们是否对使用它有任何建议,或者是否有其他软件包可以做得很好。

我正在处理非常基本的数据,例如xy = np.random.rand(1000,2)叠加在图像上。

虽然我还想尝试另一件事,那就是做一个可以扩展到不同热图的热图。例如,我有

attempts = np.random.rand(5000,2)
successes = np.random.rand(500,2)

我想要一个相对于尝试密度的成功热图。这可能吗?

2 个答案:

答案 0 :(得分:1)

Seaborn是一个非常广泛使用的库,用于制作外观漂亮的图表,并且有一个heatmap function。 Seaborn在引擎盖下使用了matplotlib。

import numpy as np
import seaborn as sns

xy = np.random.rand(1000,2)
sns.heatmap(xy, yticklabels=100)

enter image description here

关于你的第二个问题,我不确定你的意思。但我的建议是创建一个numpy数组或pandas数据框“成功[缩放]相对于尝试的密度”,但你的意思是,然后将该缩放的数组或数据框传递给sns.heatmap

答案 1 :(得分:-1)

您可以获得的最基本的热图是图像图:

import matplotlib.pyplot as plt
import numpy as np

xy = np.random.rand(100,2)
plt.imshow(xy, aspect="auto")
plt.colorbar()

plt.show()

enter image description here

请注意,使用比像素更多的点来显示热图可能没有多大意义。

当然也有不同的方法来绘制热图,您可以浏览matplotlib example gallery并查看哪个剧情对您最有吸引力。