# Das2's canvas object has two hooks for decorating the plot, to plot below and # above the normal graphics. These provide direct access to the Graphics object # that paints the canvas. This demos how they are used. reset() import javax , java, org.das2 ur= 'http://www.cottagesystems.com/honeycomb.1.gif' image= javax.imageio.ImageIO.read( getFile( ur, monitor ) ) class BottomPaint(org.das2.graph.Painter): def paint( self, g ): g.drawImage( image, java.awt.geom.AffineTransform(), None ) class TopPaint(org.das2.graph.Painter): def paint( self, g ): g.rotate( -15*PI/180,300,300 ) g.setFont( java.awt.Font.decode( 'sans-42' ) ) g.setColor( Color( 255,255,255,80 ) ) g.drawString( "Provisional", 302,302 ) g.setColor( Color( 0,0,0,80 ) ) g.drawString( "Provisional", 300,300 ) bottom= BottomPaint() top= TopPaint() dom.canvases[0].controller.dasCanvas.removeBottomDecorators() dom.canvases[0].controller.dasCanvas.removeTopDecorators() dom.canvases[0].controller.dasCanvas.addBottomDecorator( bottom ) dom.canvases[0].controller.dasCanvas.addTopDecorator( top ) dom.plots[0].controller.dasPlot.setOpaque(True) dom.dataSourceFilters[0].uri='vap+cdf:http://cdaweb.gsfc.nasa.gov/istp_public/data/polar/hydra/hyd_h0/$Y/po_h0_hyd_$Y$m$d_v01.cdf?ELECTRON_DIFFERENTIAL_ENERGY_FLUX&timerange=20000109'