Holoviews中的HeatMap?

时间:2019-09-19 14:41:15

标签: python heatmap holoviews

我正在尝试使用Holoviews绘制HeatMap。我做了几次尝试,但没有成功。 我绘制了具有2个值的数据(一个在“ x”轴上,一个在“ y”轴上),我希望每种颜色代表数量(例如HeatMap中的直方图)。

1 个答案:

答案 0 :(得分:1)

在HoloViews中,HeatMap实际上是用于分类数据的。如果您的数据是数字数据,那么您真的想计算2D直方图并使用hv.Image元素,则可以使用np.histogram2d进行此操作,例如:

a, b = np.random.randn(1000, 2).T
df = pd.DataFrame({'a': a*10, 'b': b}, columns=['a', 'b'])
z, a, b = np.histogram2d(df['a'], df['b'])
hv.Image((a, b, z), ['a', 'b'], 'Count')

enter image description here

或者,如果您有很多数据,则可以使用内置的datashader支持来执行相同的操作:

from holoviews.operation.datashader import rasterize

a, b = np.random.randn(1000, 2).T
df = pd.DataFrame({'a': a*10, 'b': b}, columns=['a', 'b'])
rasterize(hv.Scatter(df), width=10, height=10, dynamic=False)

根据需要调整宽度和高度,或者删除dynamic = False以在缩放时动态重新采样。