使用mayavi imshow的边框大小相等,包括边框?

时间:2014-02-14 00:29:41

标签: python visualization histogram mayavi

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

显示
mayavi.mlab.imshow(my2dhistogram, interpolate=False)

对于5x5阵列,输出如下,

enter image description here

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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

知道如何以正确的方式做到这一点(似乎很难从我对imshow的了解中得到正确的结果,但我有一个概念性建议。

使用(N + 2)x(N + 2)矩阵在表面上表示项目的NxN矩阵,并将边界条目设置为-1。然后制作一个自定义的色彩映射图,使得所需的色彩映射表包含在0和1之间,所有其他条目都包含在(0,0,0,0)之间。我不确定如何做到这一点 - iirc mayavi模块不允许你设置不连续的颜色表,但你仍然可以用这种方式破解它。让我知道关于颜色表的部分是否令人困惑,我可以提供一些代码来使其工作。

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