我正在计算机屏幕的指定区域上跟踪对象的凝视。我正在使用pyplot的hist2d函数构造凝视热图。

这是一个简单的例子:

figure()
hist2d(xval, yval, bins=1000)
xlim([-6, 6])
ylim([-4.5, 4.5])

如您所见,我的数据范围之外还有很大一部分。但是,我想将此区域设置为指示零值的蓝色。

我的第一次尝试使用imshow可以在这里看到:
figure()
imshow(np.array([[0] * 8] * 12), extent=[-6, 6, -4.5, 4.5])
hist2d(xval, yval, bins=1000)
xlim([-6, 6])
ylim([-4.5, 4.5])

这种工作,但是在我的数据范围的边界处留下了一条难看的垂直线。

我的问题如下:
  • 有没有一种方法可以用零值蓝色填充图形,同时避免imshow调用
  • 如果没有,如何隐藏垂直线?
  • 最佳答案

    好的,我知道了。实际上很简单:只需要​​操纵range kwarg。

    figure()
    #imshow(np.array([[0] * 8] * 12), extent=[-6, 6, -4.5, 4.5])
    hist2d(xval, yval, bins=1000, range=np.array([(-6, 6), (-4.5, 4.5)]))
    xlim([-6, 6])
    ylim([-4.5, 4.5])
    

    关于python - 如何将hist2d图的无数据区域设置为零值颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15999519/

    10-12 17:49