Python 使用mayavi imshow的相同箱子尺寸,包括边框?

Python 使用mayavi imshow的相同箱子尺寸,包括边框?,python,visualization,histogram,mayavi,Python,Visualization,Histogram,Mayavi,我正在做一个非常简单的任务,绘制一个2d numpy直方图并用 mayavi.mlab.imshow(my2dhistogram, interpolate=False) 对于5x5阵列,输出如下: 我希望边界上的垃圾箱和中间的垃圾箱一样大。我理解mayavi正在做的事情的逻辑,但对于这个应用程序,我绝对需要大小相等的箱子。这是为了科学可视化,其中每个箱子代表探测器表面上的测量值 有什么建议吗?我不知道如何正确地做这件事(似乎很难从我所知道的imshow中得到正确的答案),但我有一个概念性的建

我正在做一个非常简单的任务,绘制一个2d numpy直方图并用

mayavi.mlab.imshow(my2dhistogram, interpolate=False)
对于5x5阵列,输出如下:

我希望边界上的垃圾箱和中间的垃圾箱一样大。我理解mayavi正在做的事情的逻辑,但对于这个应用程序,我绝对需要大小相等的箱子。这是为了科学可视化,其中每个箱子代表探测器表面上的测量值

有什么建议吗?

我不知道如何正确地做这件事(似乎很难从我所知道的
imshow
中得到正确的答案),但我有一个概念性的建议

用(N+2)x(N+2)矩阵表示曲面上项目的NxN矩阵,并将边界项设置为-1。然后制作一个定制的colormap,使您想要的colormap包含在0和1之间,所有其他条目为(0,0,0,0)。我不知道该怎么做——iirc mayavi模块不允许您设置不连续的颜色表,但您仍然可以通过这种方式进行破解。如果有关颜色表的部分令人困惑,请告诉我,我可以提供一些代码使其正常工作


另外,您是否有理由使用mayavi的
imshow
,而不是说matplotlib来解决这个基本上是2D的问题?

这不是一个2D问题,这是为了科学可视化。我确实做了一个matplotlib实现,这就是我想要的。我希望使用mayavi实现这一点,因为稍后我想在框内可视化,以显示3D中的加权体素。Mayavi有一些很好的工具来实现这一点,比如pipeline.volume。我可能会使用mayavi和matplotlib分别显示这些案例。