def _plot_container_default(self):
        container = OverlayPlotContainer( padding = 60, fill_padding = False,
                                  bgcolor = "white", use_backbuffer=True)
        # Plot some distribution functions
        plots = {}
        broadcaster = BroadcasterTool()
    
    #""" Plot 
        
#        view = DataView(border_visible = True)
#
        index = ArrayDataSource(self.x_array)
        value = ArrayDataSource(self.pdf_array, sort_order="none")

        index_range = DataRange1D()
        index_range.add(index)
        index_mapper = LinearMapper(range=index_range)
    
        value_range = DataRange1D()
        value_range.add(value)
        value_mapper = LinearMapper(range=value_range)

        pdf_plot = FilledLinePlot(index = index, value = value,
                                    index_mapper = index_mapper,
                                    value_mapper = value_mapper,
                                    edge_color = tuple(COLOR_PALETTE[0]),
                                    face_color = "paleturquoise",
                                    bgcolor = "white",
                                    border_visible = True)

        add_default_grids(pdf_plot)
        add_default_axes(pdf_plot)

        #***************************Label*************************************
        pdf_label = DataLabel(component=pdf_plot, data_point=(2.4,0.15), 
                          label_position=(15,15), padding=5,
                          label_format = 'PDF',
                          bgcolor = "transparent",
                          marker_color = "transparent",
                          marker_line_color = "transparent",
                          border_visible=False)
        pdf_plot.overlays.append(pdf_label)
        
        
#        tool = DataLabelTool(pdf_label, drag_button="right", auto_arrow_root=True)
#        pdf_label.tools.append(tool)


        container.add(pdf_plot)
        pan = PanTool(pdf_plot)
        zoom = SimpleZoom(pdf_plot, tool_mode="box", always_on=False)
        broadcaster.tools.append(pan)
        broadcaster.tools.append(zoom)
        
        
#*********************************CDF****************************

        plot = create_line_plot((self.x_array,self.pdf_array), 
                                color=tuple(COLOR_PALETTE[0]), width=2.0)
        
        plot.bgcolor = "white"
        plot.border_visible = True                

        add_default_grids(plot)
        add_default_axes(plot)


        container.add(plot)


#       # Create a pan tool and give it a reference to the plot it should
#       # manipulate, but don't attach it to the plot.  Instead, attach it to
#       # the broadcaster.
        pan = PanTool(plot)
        zoom = SimpleZoom(plot, tool_mode="box", always_on=False)
        broadcaster.tools.append(pan)
        broadcaster.tools.append(zoom)
        

    #""" PDF Plot
        # Add an axis on the right-hand side that corresponds to the second plot.
        # Note that it uses plot.value_mapper instead of plot0.value_mapper.
        pdf_plot = create_line_plot((self.x_array,self.cdf_array), 
                                color=tuple(COLOR_PALETTE[1]), width=2.0)
        pdf_plot.bgcolor = "white"
        pdf_plot.border_visible = True
     

        # Label
        cdf_text = TextBoxOverlay(text = 'CDF', alternate_position = (200,390) )
        pdf_plot.overlays.append(cdf_text)

        tool = DataLabelTool(cdf_text, drag_button="right", auto_arrow_root=True)
        cdf_text.tools.append(tool)
        
        container.add(pdf_plot)

#        vertical_axis = LabelAxis(pdf_plot, orientation='top',
#                                  title='Categories')
#        pdf_plot.underlays.append(vertical_axis)

        pdf_pan = PanTool(pdf_plot)
        pdf_zoom = SimpleZoom(pdf_plot, tool_mode="box", always_on=False)
        broadcaster.tools.append(pdf_pan)
        broadcaster.tools.append(pdf_zoom)


        axis = PlotAxis(pdf_plot, orientation="right")
        pdf_plot.underlays.append(axis)



#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

        # Add the broadcast tool to the container, instead of to an
        # individual plot
        container.tools.append(broadcaster)


        container.underlays.append(PlotLabel("CDF",
                                  component=container,
                                  font = "swiss 16",
                                  overlay_position="right"))


        legend = Legend(component=container, padding=10, align="ul")
        legend.tools.append(LegendTool(legend, drag_button="right"))
        container.overlays.append(legend)

        # Set the list of plots on the legend
        plots["pdf"] = plot
        plots["cdf"] = pdf_plot
        legend.plots = plots


#*******************************************************************************


        x = ArrayDataSource( array( [ 0.0, 0.0 ], dtype = float ) ) 
        y = ArrayDataSource( array( [ 0.0, self.mean ], dtype = float ) )
        
        
        mean_plot = create_line_plot((x,y),
                                  color=tuple(COLOR_PALETTE[2]), width=2.0)


#        vertical_plot = LinePlot(index = ArrayDataSource( array( [ 0.0, 1.0 ], dtype = float ) ),
#                        value = ArrayDataSource( array( [ 0.0, 1.0 ], dtype = float ) ),
#                        color = "green"),
#                        index_mapper = LinearMapper(range=index_mapper),
#                        value_mapper = LinearMapper(range=value_mapper))
 


        container.add(mean_plot)


       # Create a pan tool and give it a reference to the plot it should
       # manipulate, but don't attach it to the plot.  Instead, attach it to
       # the broadcaster.
        mean_pan = PanTool(mean_plot)
        mean_zoom = SimpleZoom(mean_plot, tool_mode="box", always_on=False)
        broadcaster.tools.append(mean_pan)
        broadcaster.tools.append(mean_zoom)



#**************************************************************************

        x = ArrayDataSource( array( [ 0.0, 0.0 ], dtype = float ) ) 
        y = ArrayDataSource( array( [ 0.0, 2.0 ], dtype = float ) )
        
        print "self.standard_deviation", self.standard_deviation
        
        st_plot = create_line_plot((x,y),
                                  color=tuple(COLOR_PALETTE[4]), width=2.0)

        container.add(st_plot)


       # Create a pan tool and give it a reference to the plot it should
       # manipulate, but don't attach it to the plot.  Instead, attach it to
       # the broadcaster.
        st_pan = PanTool(st_plot)
        st_zoom = SimpleZoom(st_plot, tool_mode="box", always_on=False)
        broadcaster.tools.append(st_pan)
        broadcaster.tools.append(st_zoom)



#*****************************************************************************

        # Add the title at the top
        container.overlays.append(PlotLabel("Distribution plots",
                                  component=container,
                                  font = "swiss 16",
                                  overlay_position="top"))

        # Add the traits inspector tool to the container
        container.tools.append(TraitsTool(container))
        return container