2014-02-14 2 views
0

Я делаю очень простую задачу построения 2D-Numpy гистограммы и отображение с сРавные размеры бункера, включая границу с использованием майави имшоу?

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

Для матрицы 5х5 выход заключается в следующем,

enter image description here

Я хотел закрома вдоль границы - того же размера, что и в центре. Я понимаю логику того, что делает майави, но для этого приложения я абсолютно нуждаюсь в том, чтобы ящики были одинакового размера. Это для научной визуализации, где каждый бит представляет собой измерение на поверхности детектора.

Любые предложения?

ответ

1

Я не знаю, как сделать это правильный путь (кажется, это было бы очень трудно получить право от того, что я знаю о imshow), но у меня есть концептуальное предложение.

Представьте свою матрицу элементов NxN на поверхности с матрицей (N + 2) x (N + 2) и установите границы в -1. Затем создайте настроенную цветовую палитру таким образом, чтобы нужная цветовая палитра содержала от 0 до 1, а все остальные записи - (0,0,0,0). Я не совсем уверен, как это сделать - модули iirc mayavi не позволяют вам устанавливать прерывистые таблицы цветов, но вы все равно можете взломать их таким образом. Дайте мне знать, запуталась ли часть таблицы цветов, и я могу предоставить некоторый код, чтобы он работал.

Кроме того, есть ли причина, по которой вам необходимо использовать майяви imshow, а не сказать matplotlib для этой существенно двумерной проблемы?

+0

Это не совсем двумерная проблема, это для научной визуализации. Я сделал реализацию matplotlib, http://stackoverflow.com/questions/21768497/matplotlib-3d-plot-colors-appear-darker-than-normal Это то, что я хотел. Я надеялся использовать майави для этого, потому что позже я хочу визуализировать внутри коробки, чтобы отображать взвешенные вокселы в 3D. У Mayavi есть хорошие инструменты для этого, такие как pipe.volume. Вероятно, в конечном итоге я смогу использовать майави и matplotlib для отображения этих случаев отдельно. – abnowack