我正在尝试用全息视图绘制一个HeatMap。我做了几次尝试,但都没有成功。我绘制了有两个值的数据(一个在"x“轴上,一个在”y“轴上),我希望每种颜色代表数量(就像HeatMap中的直方图一样)。
发布于 2019-09-20 16:51:05
在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')

或者,如果你有很多数据,你可以使用内置的数据着色器支持来做同样的事情:
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以在缩放时动态重新采样。
https://stackoverflow.com/questions/58013568
复制相似问题