home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / www / cucug / amiga / amiinfo / reviews / multiplot.txt < prev    next >
Internet Message Format  |  1997-11-07  |  15KB

  1. From: Jason L. Tibbitts III <honp9@menudo.uh.edu>   
  2. Organization: Blob Shop Programmers
  3. Subject: REVIEW: Multiplot XLNd (beta) 
  4. Followup-To: comp.sys.amiga.applications                   
  5. Keywords: application, scientific, data processing  
  6. Reply-To: Markus Buchhorn <markus@mso.anu.edu.au>       
  7. Followup-To: comp.sys.amiga.applications
  8.  
  9. Multiplot XLNd (beta) is a quick-look plotting package, capable of
  10. producing publication quality plots. It's intuitive enough to just
  11. run with little instruction, and powerful enough for those wanting
  12. extra features. It's one I recommend to my co-workers around the
  13. observatory here. In short, an excellent product, and even better: PD
  14.  
  15.                          -------
  16.  
  17. I should add that I posted this review to the Amiga-scientific mailing 
  18. list for discussion, and with the exception of the author, had no
  19. comments either way. Some of the comments made by Alan are included
  20. near the end [I don't think I misquoted you too much, Alan :-)].
  21. Furthermore - this is still a beta release, so no conclusions can be drawn
  22. regarding the final product. Note that the version has come a long way though
  23. (since at least FF#231), and keeps getting better, with more features. 
  24.  
  25. Multiplot XLN needs to be distinguished from Multiplot which is Tim 
  26. Mooney's program which has evolved along diferent lines.
  27.  
  28. ----------------------------------------------------------------------------
  29.  
  30. Review of: Multiplot XLNd beta
  31. Authors  : Alan Baxter, Tim Mooney
  32. Status   : Freely distributable (subject to constraints - see documentation)
  33. Requires : WB 1.3 or higher (yes, 2.0 is possible, according to the Docs)
  34.            1/2M RAM.
  35.  
  36. Runs from Hard Disk (quite well!), and runs from CLI or WorkBench. Data files
  37. can be saved having Multiplot as the tool for their icon.
  38.  
  39. A loong time ago I tried a plotting package called Multiplot, I can't remember
  40. the version number. I didn't like it. It was chunky, clunky and uncomfortable
  41. to use. Recently however I saw an update notice with a whole bunch of
  42. fixes and new features. Being the sporting type, I decided to give it another
  43. go :-). I was more than pleasantly surprised. This is now a useful package,
  44. i.e. one I consider using in my work.
  45.  
  46. MP is an x-y plotting package that reads in plain text files, containing
  47. columns of numbers representing your data + errors. It can also contain some
  48. keywords that tell MP how to plot the data, but the main use I feel is to just
  49. read in the data, then interactively clean up the presentation before printing
  50. it.
  51.  
  52. It runs on an interlaced screen, with number of bitplanes and overscan 
  53. optional settings. I don't have a flicker fixer, so interlace can be 
  54. irritating - but the default colours aren't too bad, so I can live with it
  55. for the time being. Anyway, the colours are adjustable from within the program.
  56.  
  57. Having loaded your data file, MP defaults to a 'draw each point as a box and
  58. connect the points' setting. Now is where the elegance of MP becomes evident.
  59. Click once on any point and it selects the data-set that point belongs to,
  60. highlighting it. You can have an unlimited number of distinct data-sets in MP.
  61. If you double-click on a data-set you get a requestor, which allows you to
  62. adjust everything about the way it is represented, point-type, size-of-points,
  63. line-type, colour, how the data is presented (only line,only points, both
  64. line/points, step, impulse) or to get rid of/hide a data-set away from the
  65. plot. Every time you finish with that requester, the plot is redrawn. Even my
  66. plots with >1200 points are redrawn very quickly. 
  67.  
  68. If you double click alongside the x or y axes (and you're not near one of 
  69. the labels) you get an axis requestor. This allows you to change the length
  70. of the axis (min/max values) if the default is no good, invert the axes, 
  71. change to log or linear scales (so lin/lin,log/lin,lin/log,log/log plots are
  72. all possible) and to lock the axes - which basically stops it changing the axes
  73. if you make further adjustments, like zooms etc. More on that later. 
  74.  
  75. You can select an individual point/set of points, as opposed to the whole
  76. data-set, and edit the points individually ('Hmmm, that 6 sigma point would
  77. look better hidden over here...':-) )
  78.  
  79. Double-clicking above the plot gives you a requestor for the plot title, 
  80. written in a fairly large font. This title is immovable, unlike almost
  81. any other piece of text on the plot. You can pick up axes labels, 
  82. numeric labels, and move them or edit them. You can also add a label
  83. anywhere on the page by selecting a menu-item.
  84.  
  85. This leads me to the menu-options. The easiest way to discuss these is
  86. to just read them off and briefly list/discuss the more interesting ones.
  87. Here is where the real power of MP is hidden, as opposed to the elegance :-)
  88.  
  89. PROJECT: 
  90. Save As: This allows you to save the plot in any of the following formats: 
  91.          ILBM, HPGL, Draw, mCAD, IntroCAD, PostScript, EPSF and a raw data 
  92.          file. I only use the PS options so I can't comment on the others.
  93.          The PS is quite good, and happily read into Andrew Aylward's POST
  94.          PostScript interpreter.
  95.  
  96. Print Preview: for those of you with printers (unlike me :-( )
  97.  
  98. Print Setup: A nice requester pops up, allowing you to change from
  99.              Landscape to Portrait mode, to adjust the overall scale of the
  100.              plot in %ile units. There's also a graphic representation
  101.              of how much of the page is covered by the plot, which adjusts
  102.              as you change the scaling/orientation. You can move this around
  103.              to determine where on the page the plot will appear. Very Nice !
  104.  
  105. EDIT:
  106. This interfaces MP with the clipboard. Cut/Paste/Undelete/Copy/Delete are
  107. all available.
  108.  
  109. Add Text:  What it says. Your string will appear somewhere on the page, and
  110.            you can then pick it up and put it wherever you want it. You can
  111.            do this at any stage.
  112.  
  113. ACTIONS:
  114.  
  115. Mouse Action: Select/Zoom/Slide
  116.               The Mouse can be used in 3 ways. In select mode you can do
  117.               all the stuff above. In Zoom, you can drag-select a region of
  118.               the plot, which is then plotted with the same characteristics
  119.               as the original plot. The axes adjust - unless you've locked
  120.               them. The Slide mode = Pan mode. You can slide the plot around
  121.               the plot box. The axes slide in this case -unless you've locked
  122.               them.
  123.  
  124. Axes locks can also be set via the menu here.
  125.  
  126. OPTIONS:
  127. Crosshairs: Turns the cursor, in whatever action-mode, into a crosshair.
  128. Grid      : Toggles: Draw a grid on the plot.
  129. Axes      : Can be just x/y or complete box, or none. (One could do diagrams
  130.              with this mode)
  131. Sign.fig. : Let's you limit the number of sign. figures used on numbers on
  132.              axes and formulae.
  133. Errorbars : Toggles error bar drawing on and off. Note that error bars can
  134.             now be asymmetric with this new release ! At this stage Y-dirn
  135.             error-bars only, but I believe Errors in X will be supported
  136.             in an upcoming version.
  137.  
  138. FUNCTIONS:
  139. Sort Data Set : Sorts the data-set by x values.
  140. Smooth        : Smooths the data by filtering or by interpolation
  141. Linear Fit    : Fits a straight line in current coord system, i.e. takes
  142.                 lin/log axes into account to fit exponentials or whatever.
  143. Polynomial Fit: As above, but to higher orders.
  144.  
  145. The equation of the fit is written into the right hand margin as a legend,
  146. along with a section of line representing it there. Both smoothing and fitting
  147. generate a new data set with points, so you can edit them the same way that you
  148. can edit your own data. You could smooth the data first, then fit a line to the
  149. equispaced points of the smoothed data-set. 
  150.  
  151.  
  152. So, that covers in a very quick fashion, most of the major features of MP.
  153. It is very intuitive and quick to learn. The documentation is quite good,
  154. although once you get to know MP, I found that it could be organised a bit
  155. better.
  156.  
  157. ---------------------------------------------------------------------------
  158. What follows is a list of things I would like to see/see fixed, I'm just
  159. intrigued by, or I can't see what I'm doing wrong. No particular order, just
  160. the order I came across them. I include here (in an edited form) some of
  161. Alan's comments via the ami-sci mailing list and also personal E-mail.
  162.  
  163. - Line thickness: You can set point size, but not line thickness.
  164. [Alan: Not too dificult to implement. Never been previously requested. Can be 
  165. added if others want.]
  166.  
  167. - Line types: We need more ! Perhaps user definable ones ?
  168. [Alan: Restrained here by those available in HPGL.]
  169.  
  170. - Adding a legend: This wasn't documented in the manual, but Alan pointed
  171.   me in the right direction. Select a data-set in the usual-way, then
  172.   select 'Add-Text' from the Menu.
  173.  
  174. - Histograms: yet to come, according to the docs. The sooner the better !
  175. [Alan: Okay, okay!!]
  176.  
  177. - The number of major tics (axis labels) is out by one in the requester
  178.   I discussed this with Alan somewhat, and it appears to be a choice-of-
  179.   -nomenclature problem only. He'll look into it.
  180.  
  181. - Freehand drawing of straight lines, arrows and similar. This is seen
  182.   quite often on scientific plots, to allow points/lines to be clearly
  183.   labelled and also for baselines/division lines.
  184. [Alan: I've been thinking about that sort of thing, also freehand addition of
  185. spline curves.]
  186.  
  187. - If eqn of fit is too long for the legend, it never tells you the eqn..
  188. [Alan: adjust the number of sign.figures with the menu-option]
  189.  
  190. - If there's only one data-set, why prompt 'no set selected' ? Should default.
  191. [Alan: To keep the user-interface consistant, regardless of number of 
  192.   data-sets.] Ok - I can agree with that.
  193.  
  194. - The Aspect ratio of the plot changes as you add titles/labels/legends.
  195.   If you start out with a square plot, it mightn't be square at print-time.
  196.   I'd rather have this setable by the user - something like a rubber-box ?
  197.  
  198. [Alan: The way it is now, the plot fills the maximum number of pixels available.
  199. It has to shrink to include other things like axis labels, etc. Obviously
  200. the code is virtually in place for "rubber box" bounding. Not there because
  201. noone's asked for it before. Please note that the "maximum pixel" concept
  202. deliberately differs from the Mac "tiny poky picky in the middle of the 
  203. screen" concept.] I agree with that - the plot fills as much of the screen as
  204. is reasonably possible. Very nice to look at - no neck-strain :-)
  205.  
  206. - The title is immovable - sometimes it is useful to have it move.
  207. [Alan: On its way...]
  208.  
  209. - The sideways y-label problem. Alan has had this problem for a long time.
  210.   The y-axis label has to be written with horizontal text, in a single
  211.   column of characters. If anyone knows how to rotate Amiga fonts on 
  212.   screen, please let him know .... On the printout they come out Ok.
  213.  
  214. - Font additions: subscripts/superscripts and Greek characters are needed.
  215. [Alan: Yes. This is getting to be a problem. I will probably have to create
  216. a special Multiplot font for the Fonts: directory which coincides with
  217. the HPGL output, and maintains font changes in parallel with the two
  218. PLT fonts.]
  219.  
  220. - 0.0 comes out as 1e-17 or similar on a fairly regular basis. Due to
  221.   personal aesthetics, this can't always be fixed by using significant 
  222.   figures. I've discussed this with Alan, and at this stage appears to be 
  223.   a pain to fix. For now, once you've finished all the scaling, just edit 
  224.   the numeric label (trivial) and lock the axes. May be fixed in an upcoming 
  225.   version...
  226.  
  227. - Reading new data sets in from a file - At this stage, the only way I can
  228.   see that multiple data sets can be plotted is to have them all in one file
  229.   (with flags separating them) or by shuffling them onto the clipboard and
  230.   back again. It'd be nicer if the file requester had a 'data-set number'
  231.   option..
  232. [Alan: Fair enough.]
  233.  
  234. - It is sometimes useful to have an 'upper limit' type of error bar, i.e.
  235.   a dot with an arrow. This was a new one to Alan, and he said he'd look
  236.   into it - but not too soon :-) (Other features come first)
  237.  
  238. - If thou requests the opening of a new file by accident, thou cannotst
  239.   cancel this - start again from the beginning. Alan doesn't like (read: hates)
  240.   the concept of 'Did You Really Want Me To Do That?' requesters, but in this
  241.   case he may add one.
  242.  
  243. - I've found at least once that the y axis labels on a shrunken plot were
  244.   geometrically displaced from where they should be..
  245. [Alan: found and fixed]
  246.  
  247. - If you gratuitously lock the axes before putting a label on them, the
  248.   axes occassionally misbehave (text in the middle of the numbers, the labels
  249.   going past the end of the axes)
  250.  
  251. [Alan: Hmm... If you take a chain saw and wave it through your leg... 
  252. Powerful features can be misused. I considered but decided against a 
  253. requester reminding the user of the locks every time the plot was redrawn.]
  254.  
  255. ------------------------------------------------------------------------------
  256.  
  257. Some of the above are minor nuisances only, some are already fixed or will be
  258. in an upcoming version. At this stage, I'd rate MP as 75% useful for my
  259. purposes. With the above changed/fixed I'd go up to 85%. (mind you - 
  260. 90% = essentially perfect in my book, 100% I've never seen) 
  261.  
  262. I could suggest further features (for future versions?) . These include
  263. (i) 3D plots
  264. (ii) Histograms
  265. (iii) Statistical analysis
  266. (iv) Doing multiple plots at once and arranging them on a page
  267.  
  268. however, these are fairly major (:-) ) This is something I'd expect to 
  269. see in a commercial version. 
  270.  
  271. [Alan: (i) No way, (ii) Yes, soon, (iii) may provide a separate utility for
  272. this, and (iv)... well, Multiplot XLN(future) will allow for multiple pages of
  273. plots in memory, if not necessarily on display.] I was thinking more of the
  274. presentation of multiple plots on a page, via the Print Setup. Alan is
  275. thinking about this, but first reaction is 'too hard... unless you pay me :-)'
  276.  
  277. As you can see from the above, the program has many features for the
  278. power-user, and is intuitive enough for beginners. Alan is a responsive
  279. author, quite happy to discuss features/problems.
  280.  
  281. This is an excellent plotting package, in terms of intuitiveness and what
  282. it can do. Of the packages I've seen, this is the one giving most bang/effort.
  283. Other packages require writing scripts or programmes to produce plots. They
  284. may be more powerful in the end, but for quick-look problems, and quite
  285. respectable output (publication quality) it would be hard to go past
  286. Multiplot. Congrats Alan and Tim.
  287.  
  288.  
  289. ===============================================================================
  290.  Markus Buchhorn                                           ///  | This space
  291.  Mt Stromlo and Siding Spring Observatories, Canberra     ///   | 
  292.  PMB Weston Ck. P.O. A.C.T. 2611, Australia           \\\///    | intentionally
  293.  markus@mso.anu.edu.au  -or-  markus@merlin.anu.edu.au \XX/     | left blank
  294. -------------------------------------------------------------------------------
  295.  Phone donations: AUS-6-249-0283 Flames: alt.dev.null  Disclaimer: standard
  296. ===============================================================================
  297.  
  298.