def _plot_default(self): # Create starting points for the vectors. numpts = self.numpts x = sort(random(numpts)) y = random(numpts) # Create vectors. vectorlen = self.vectorlen vectors = array( (random(numpts) * vectorlen, random(numpts) * vectorlen)).T data = ArrayPlotData() data.set_data('index', x) data.set_data('value', y) data.set_data('vectors', vectors) quiverplot = Plot(data) quiverplot.quiverplot(('index', 'value', 'vectors')) # Attach some tools to the plot quiverplot.tools.append(PanTool(quiverplot, constrain_key="shift")) zoom = ZoomTool(quiverplot) quiverplot.overlays.append(zoom) container = OverlayPlotContainer(quiverplot, padding=50) return container
def _plot_default(self): # Create starting points for the vectors. numpts = self.numpts x = sort(random(numpts)) y = random(numpts) # Create vectors. vectorlen = self.vectorlen vectors = array((random(numpts)*vectorlen, random(numpts)*vectorlen)).T data = ArrayPlotData() data.set_data('index', x) data.set_data('value', y) data.set_data('vectors', vectors) quiverplot = Plot(data) quiverplot.quiverplot(('index', 'value', 'vectors')) # Attach some tools to the plot quiverplot.tools.append(PanTool(quiverplot, constrain_key="shift")) zoom = ZoomTool(quiverplot) quiverplot.overlays.append(zoom) container = OverlayPlotContainer(quiverplot, padding=50) return container
def _render_quiver_overlay(base_plot, array_plot_data, line_color="white", line_width=1.0, arrow_size=5): if 'vectors' not in array_plot_data.arrays: return base_plot quiverplot = Plot(array_plot_data, aspect_ratio = base_plot.aspect_ratio, default_origin="top left") quiverplot.quiverplot(("index", "value", "vectors"), name="quiver_plot", line_color=line_color, line_width=line_width, arrow_size=arrow_size) quiverplot.x_grid.visible = False quiverplot.y_grid.visible = False quiverplot.range2d = base_plot.range2d return quiverplot