Как добавить масштабную линейку на график в Mayavi2 / VTK? - PullRequest
2 голосов
/ 14 июля 2011

Я бы хотел добавить масштабную линейку (показывающую, например, насколько велик микрон) к графику майави, который я создаю с помощью mlab.

Например, ссылаясь на этот вопрос: Как правильно отобразить объем с некубическими вокселями в mayavi

Я могу установить размер вокселя графика с помощью

from enthought.mayavi import mlab
import numpy as np

s=64
x,y,z = np.ogrid[0:s,0:s,0:s/2]

volume = np.sqrt((x-s/2)**2 + (y-s/2)**2 + (2*z-s/2)**2)

grid = mlab.pipeline.scalar_field(data)
grid.spacing = [1.0, 1.0, 2.0]

contours = mlab.pipeline.contour_surface(grid, 
                     contours=[5,15,25], transparent=True)
mlab.show()

Мне бы хотелось, чтобы в автоматическом режиме был добавлен какой-то индикатор того, каков масштаб объекта, который я показываю.Прямо сейчас я добавляю масштабные полосы вручную с помощью inkscape к экспортируемым изображениям, но должен быть лучший способ.

Прямой способ майяви был бы наиболее полезным, но если в vtk есть что-то, что могло бы сделать это, я всегда могу использовать оболочку майави.

Что-то вроде text3d позволит мне добавить текст, и тогда я полагаю, что смог бы также выяснить, как нарисовать линию и вычислить правильное масштабирование вручную, но я надеюсь, что есть более простой способ.

1 Ответ

0 голосов
/ 14 июля 2011

Попробуйте следующее:

mlab.axes()

mlab.outline()
mlab.colorbar()

Эта ссылка: http://github.enthought.com/mayavi/mayavi/auto/mlab_reference.html поможет, как и несколько примеров.

...