2
from numpy import linspace
3
from scipy.special import jn
5
from tvtk.api import tvtk
6
from mayavi import mlab
7
from enable.vtk_backend.vtk_window import EnableVTKWindow
8
from chaco.api import ArrayPlotData, Plot, OverlayPlotContainer
9
from chaco.tools.api import PanTool, ZoomTool, MoveTool
12
# Create some x-y data series to plot
13
x = linspace(-2.0, 10.0, 100)
14
pd = ArrayPlotData(index = x)
16
pd.set_data("y" + str(i), jn(i,x))
18
# Create some line plots of some of the data
19
plot = Plot(pd, bgcolor="none", padding=30, border_visible=True,
20
overlay_border=True, use_backbuffer=False)
21
plot.legend.visible = True
22
plot.plot(("index", "y0", "y1", "y2"), name="j_n, n<3", color="auto")
23
plot.plot(("index", "y3"), name="j_3", color="auto")
24
plot.tools.append(PanTool(plot))
25
zoom = ZoomTool(component=plot, tool_mode="box", always_on=False)
26
plot.overlays.append(zoom)
28
# Create the mlab test mesh and get references to various parts of the
30
f = mlab.figure(size=(600,500))
32
scene = mlab.gcf().scene
33
render_window = scene.render_window
34
renderer = scene.renderer
35
rwi = scene.interactor
38
plot.bounds = [200,200]
40
plot.bgcolor = "lightgray"
41
plot.outer_position = [30,30]
42
plot.tools.append(MoveTool(component=plot,drag_button="right"))
44
container = OverlayPlotContainer(bgcolor = "transparent",
48
# Create the Enable Window
49
window = EnableVTKWindow(rwi, renderer,
51
#istyle_class = tvtk.InteractorStyleSwitch,
52
#istyle_class = tvtk.InteractorStyle,
53
istyle_class = tvtk.InteractorStyleTrackballCamera,
54
bgcolor = "transparent",
55
event_passthrough = True,
59
return window, render_window
61
if __name__=="__main__":