[Date Prev][Date Next][Date Index]

Re: Diffraction Program and




        Reply to:   RE>>Diffraction Program and 
Re: PLPLOT

No Mac support then ?

I don't think that we should get involved in producing 'fancy' plots
ourselves since there are so many commercial packages out there which can do
a far better job than we will ever do.

For example, Excel and DeltaGraph are both available for under $100 with
educational discounts and will produce every plot that most people will ever
need.  Add something like 'NIH Image' ($0) or Spyglass ($500) or IDL ($1500)
to handle image plotting. Add Adobe Illustrator ($120), Adobe Photoshop
($200) and/or Corel Draw ($200) for final manipulations and you can produce
pretty much any presentation quality graph that you need - all for the cost
of about 10 programmer/hours.

I think that what we need is a plot primarily intended for rapid
visualisation of just acquired data.   We should keep everything as simple as
possible - all the axis scaling, labeling etc. should be entirely automatic. 
The only thing the user should need to do might be to change the range of
values being viewed and choose which data to plot.   A simple 'magnifying
glass' tool in a palette would allow the viewed range to be chosen easily -
with the following behaviour:

Click the mouse button in the appropriate part of the palette to select the
magnifying glass tool.

Double click the mouse button in the appropriate part of the palette to
rescale the plot to show the entire range of data.

Click inside the plot panel to expand the viewed region centred about the
position of the mouse click.

Click and drag a rectangular marquee in the plot panel to select a new region
to view.

'Alt'-click (or some other 'magic' combination) to zoom out centered on the
position of the click.

The mouse pointer should change shape to a magnifying glass with a '+' or '-'
sign to indicate whether you are about to zoom in or out.

As an enhancement, one could add a 'hand' tool, used to translate the viewed
range without changing the scale, with the following behaviour:

Click the mouse button in the appropriate part of the palette to select the
hand tool.

Double click the mouse button in the appropriate part of the palette to
rescale the plot to show the entire range of data. (Optional - since this
operation does change the graph scale as well it may not be appropriate for
the hand tool).

Click and drag inside the plot panel to displace the range of plotted data
without changing the scale.

The mouse pointer would change shape from an open hand to a closed hand as
the mouse button was pressed to indicate that we have 'grasped' the plot.

We at BESSRC will be implementing such a plot as a C++ class.   We are using
commercial class libraries (StarView, similar to XVT++ but much cheaper,
Rogue Wave math.h++ and tools.h++) so what we produce may not be of general
utility but anyone who is interested is welcome to contact us.

Guy Jennings.