NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Charles, > I want to plot X-Y pairs in a SpreadSheet cell, along with > the axes and scales. After reviewing the Visad documenation > and tutorials carefully, I decided that the best way to > understand how to accomplish things with Visad was to study > the example programs. Trouble is, all the examples > produce a drawn object that seems to want to be rotated > or otherwise manipulated by the mouse in that it 1) doesn't > fill the container into which it is drawn You can make the plot fill the container by scaling the matrix in ProjectionControl. Something like: DisplayRenderer dr = display.getDisplayRenderer(); MouseBehavior mb = dr.getMouseBehavior(); ProjectionControl pc = display.getProjectionControl() double[] matrix = pc.getMatrix(); double scale = ... // amount to scale by double[] t = mb.make_matrix(0.0, 0.0, 0.0, scale, 0.0, 0.0, 0.0); t = mb.multiply_matrix(t, matrix); pc.setMatrix(t); > and 2) can be moved > around in that space. Neither of these attributes is > needed or desirable for an ordinary X-Y plot. You can disable mouse control over the display by extending MouseBehaviorJ3D or MouseBehaviorJ2D and overriding the processStimulus() method to do nothing: public void processStimulus(Enumeration criteria) { // do nothing } See: http://www.unidata.ucar.edu/glimpse/visad-list/2255 for how to construct a DisplayImpl that uses your extension of MouseBehaviorJ3D or MouseBehaviorJ2D. If you want to do this in a SpreadSheet cell, extend FancySSCell and override the constructDisplay() method (implemented in BasicSSCell, the parent of FancySSCell). Good luck, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: