def create_plot_component(self): self.plot_data = ArrayPlotData() self.plot_data.set_data("imagedata", self.model.intens_yz) self.plot_data.set_data('vert_image',self.model.intens_xz) self.plot_data.set_data('beam_section', self.model.intens_xy) # Create a contour polygon plot of the data plot = Plot(self.plot_data) plot.title = 'Horizontal plane' plot.padding=5 plot.padding_top = 22 plot.padding_left=25 plot.padding_bottom=20 my_plot = plot.img_plot("imagedata", name='my_plot', # xbounds=x,#ybounds=y, colormap=jet, hide_grids=True)[0] colormap = my_plot.color_mapper colorbar = ColorBar(index_mapper=LinearMapper(range=colormap.range), color_mapper=colormap, plot=my_plot, orientation='v', resizable='v', width=25, padding=0) colorbar.padding_top = plot.padding_top colorbar.padding_bottom = plot.padding_bottom colorbar.padding_left = 35 colorbar.padding_right = 30 colorbar._axis.tick_label_formatter = lambda x: ('%.0e'%x) rplot = Plot(self.plot_data) rplot.title = 'Vertical plane' rplot.padding=plot.padding rplot.padding_top = plot.padding_top rplot.padding_left = plot.padding_left rplot.padding_bottom = plot.padding_bottom my_plot = rplot.img_plot('vert_image',name='vert_plot',colormap=jet)[0] colormap = my_plot.color_mapper colorbar_rplot = ColorBar(index_mapper=LinearMapper(range=colormap.range), color_mapper=colormap, plot=my_plot, orientation='v', resizable='v', width=25, padding=0) colorbar_rplot.padding_top = plot.padding_top colorbar_rplot.padding_bottom = plot.padding_bottom colorbar_rplot.padding_right = 20 colorbar_rplot.padding_left = 35 colorbar_rplot._axis.tick_label_formatter = lambda x: ('%.0e'%x) sec_plot = Plot(self.plot_data) sec_plot.title = 'Beam section' sec_plot.padding=plot.padding sec_plot.padding_top = plot.padding_top sec_plot.padding_left = plot.padding_left sec_plot.padding_bottom = plot.padding_bottom my_plot = sec_plot.img_plot('beam_section',name='beam_section_plot',colormap=jet)[0] colormap = my_plot.color_mapper colorbar_sec_plot = ColorBar(index_mapper=LinearMapper(range=colormap.range), color_mapper=colormap, plot=my_plot, orientation='v', resizable='v', width=25, padding=0) colorbar_sec_plot.padding_top = plot.padding_top colorbar_sec_plot.padding_bottom = plot.padding_bottom colorbar_sec_plot.padding_right = 20 colorbar_sec_plot.padding_left = 35 colorbar_sec_plot._axis.tick_label_formatter = lambda x: ('%.0e'%x) container = HPlotContainer(use_backbuffer = True) container.add(plot) container.add(colorbar) container.add(rplot) container.add(colorbar_rplot) container.add(sec_plot) container.add(colorbar_sec_plot) self.plot_container = container
def _create_plot_component(file_name): # Create a scalar field to colormap z = load(file_name) pd = ArrayPlotData() pd.set_data("imagedata", z) # Create the plot plot = Plot(pd) plot.bgcolor = 'gray' img_plot = plot.img_plot("imagedata", name='my_plot', colormap=jet, hide_grids=True)[0] #cont_plot=plot.contour_plot('imagedata', type='line', name='countour') # Tweak some of the plot properties #plot.title = file_name plot.padding = 40 plot.padding_right=20 # Attach some tools to the plot plot.tools.append(PanTool(plot)) #plot.tools.append(TraitsTool(plot)) zoom = ZoomTool(component=img_plot, tool_mode="box", always_on=False) img_plot.overlays.append(zoom) #plot.y_axis.tick_label_formatter = lambda x: "%.3e" % x #plot.x_axis.tick_label_formatter = lambda x: "%.3e" % x #plot.tools.append(SaveTool(plot)) # Right now, some of the tools are a little invasive, and we need the # actual CMapImage object to give to them my_plot = img_plot#plot.plots["my_plot"][0] colormap = my_plot.color_mapper colorbar = ColorBar(index_mapper=LinearMapper(range=colormap.range), color_mapper=colormap, plot=my_plot, orientation='v', resizable='v', width=25, padding=0) colorbar.origin = 'bottom left' #colorbar._axis.tick_label_formatter = lambda x: '%.0e'%(x*10e6) + u' [\u00b5' + 'Watt]' colorbar._axis.tick_label_formatter = lambda x: ('%.0e'%(x*1e6)) colorbar._axis.orientation = 'right' colorbar._axis.title = u'Intensity [\u00b5W]' colorbar.padding_top = plot.padding_top colorbar.padding_bottom = plot.padding_bottom colorbar.padding_right = 100 # create a range selection for the colorbar range_selection = RangeSelection(component=colorbar) colorbar.tools.append(range_selection) colorbar.overlays.append(RangeSelectionOverlay(component=colorbar, border_color="white", alpha=0.5, fill_color="lightgray")) range_selection.listeners.append(my_plot) imgtool = ImageInspectorTool(img_plot) img_plot.tools.append(imgtool) plot.overlays.append(ImageInspectorOverlay(component=img_plot, image_inspector=imgtool)) # we also want to the range selection to inform the cmap plot of # the selection, so set that up as well # Create a container to position the plot and the colorbar side-by-side container = HPlotContainer(use_backbuffer = True) container.add(plot) container.add(colorbar) container.bgcolor = "white" container.tools.append(SaveTool(container)) container.tools.append(TraitsTool(container)) #my_plot.set_value_selection((-1.3, 6.9)) return container