Version 0.7
Post date: Nov 9, 2011 7:52:21 PM
Version 0.7.4, 26 Sep 2005 (rev 05 Oct):
Miscellaneous changes & bug fixes: (1) New figure... did not work if there were no user-defined templates. (2) When changing units for a measured attribute from one physical unit token ("in", "cm", "mm", "pt") to another, the conversion resulted in a numerical value with a lot of unnecessary digits after the decimal point. Now, values are limited to 3 significant digits after decimal point. (3) A logarithmic graph axis was formerly required to span a minimum of one decade; this restriction has been removed. (4) Regression (as of 0.7.1): Canvas failed to update after loading a data set from a file or changing a point listed in the table within the Data Editor panel. Fixed. (5) Using the Delete key as the keyboard accelerator for the Edit|Delete menu command does not work on Mac OS X. This is because, on Mac keyboards, the key labelled "delete" actually performs a backspace. Furthermore, on Mac laptops, the so-called "forward delete" is not available. Fixed. (6) Minor changes to how Phyplot starts up so that it's more consistent across platforms.
Some miscellaneous modifications to make Phyplot work in JRE 1.4.2. Some of the changes related to the Windows XP L&F, which was introduced in JRE 1.4.2. Note that prior to these modifications, if Phyplot ran in a 1.4.2 JVM, a new or opened document would be marked as dirty even if no changes were made to it. Noted that rendering speed is marginally slower (20-30%?) in Windows XP under JRE 1.4.2 compared to 1.4.1.
Minor changes to menu keyboard accelerators. In an effort to conform to Apple's UI guidelines, I dropped or changed some of the keyboard shortcuts that conflicted with Apple's recommendations. In addition, the modifier key used in these menu command shortcuts is platform-specific -- the Command key on the Mac, the Ctrl key in Windows (and Linux).
Includes a patch from Batik developers to workaround the excessively slow rendering problem on Mac OS X 10.4.x vs 10.3.x. There are still problems with Batik's "update manager" framework on the Mac, so it's disabled in this version (for the Mac only). What this means is that whenever the user makes any change in a figure, the entire figure is redrawn from scratch. No problems observed when running under Windows XP. Revised 10/5: A new patch from Batik developers fixed the performance hit on dynamic canvas updates via the "update manager" framework.
Version 0.7.3, 23 May 2005: Added skip attribute to pointSet and series elements. This integer-valued attribute specifies a number N such that every N-th point of the data set is actually plotted when the element is rendered. The default value is N=1, which means that every data point is plotted. This change allows the author to plot a large, dense data set without having to modify the data content.
Version 0.7.2, 21 Apr 2005: Migrated from Batik version 1.5 to version 1.6. According to the Batik user's group, rendering performance on the Mac OS X platform was improved at least 10x.
Version 0.7.1, 17 Mar 2005:
Introduced changes that permit the author to separately define the stroke characteristics of a graph's horizontal (or theta) grid lines vs its vertical (or radial) grid lines. Every graph now has four required children, two axis elements and two gridline elements. The latter is a new element class that has no children or text content; its attributes defines the stroke characteristics (stroke color, stroke width, and line type) of the grid line. In typical usage, stroke color and width will be inherited, and the line type is often hidden (meaning that the grid lines are not rendered). These schema changes eliminate the need for the graph element's showGrid attribute, which has been removed.
When the user switches a graph element's type from one of the Cartesian (cartesian, semilogX, semilogY) to one of the polar types (polar, semilogR), Phyplot automatically hides both axes and switches the layout to allQuad -- since polar plots are most frequently shown in this configuration. Conversely, when switching back to one of the Cartesian types, the layout is switched to quad1 and both axes are shown.
Support for octave ticks included. To space ticks in a tick set by 2, 4, 8, etc., simply set the tick set's interval attribute to the desired (positive) power of 2.
Maximum number of ticks per tick set increased from 20 to 50.
Modified schema so that the author can specify different draw styles for the error bars (or error traces) vs the data polyline of a pointSet or series element. These two data set element classes are now "mixed content". They contain a single required ebar element in addition to the data tuples that appear in the data set's text content. The ebar element has strokeWidth, strokeColor, fillColor, and lineType styles -- all of which typically inherit from the parent data set but can be different if the author wishes. In addition, the cap and capSize attributes define the appearance of an error bar's end-cap adornments. The ebar element replaces the hideErrors, cap, and capSize attributes formerly defined on the data set element itself. NOTE that the ebar element does NOT appear in the hierarchical tree representation of a Phyplot document; since it is an integral part of a data set element, its attributes appear as a group on that element's editor panel.
The Edit|New Figure... command invokes a Figure Wizard dialog which lets the author choose a template for the figure, then add one or more pointSet or series elements to each graph in the template, in a step-like fashion. A file chooser-like interface lets the user browse for the text files containing the data for each pointSet or series added to any graph in the figure. The wizard includes a small preview canvas which is updated as data sets are added.
Version 0.7.0, 10 Feb 2005:
Jettisoned the concept of "hollow symbols" altogether -- their implementation has created more problems than they are worth. Instead, users can specify a fillColor of pure white (FFFFFF) to approximate the idea of a hollow closed symbol. This change has a minor impact on the Phyplot XML schema: the adornment choices fillCircle, fillBox, and fillDiamond are no longer recognized with this version, since they are redundant.
Introduction of schema versioning. Both application version number and schema version number are now included in a Phyplot-specific processing instruction within the XML document. Documents generated by Phyplot prior to this version will lack this instruction and are assigned to schema version 0. Documents generated by this version have a schema number of 1. Phyplot automatically handles the task of migrating from schema 0 to schema 1, without user intervention. Essentially, it removes references to the adornment choices that are no longer supported. Also, if a formerly hollow symbol (circle, box, diamond) was specified for a data set's symbol attribute, the fillColor attribute on that data set is automatically set to white to approximately achieve the same effect.
The application now remembers a single "current working directory" for all file operations: File|Open, File|Save, File|Save As for Phyplot documents; the various File|Export commands that export a figure in a different file format, and the Load File... command for importing data from an ASCII text file for a pointSet or series element.
Added a View menu that includes the following commands: Refresh Canvas refreshes the current contents of the drawing canvas without changing the zoom/pan transform. Reset resets the zoom/pan transform without a refresh -- restoring the display to the normal view. Zoom In and Zoom Out change the scale factor on the current zoom/pan transform.
When pasting an element into Phyplot's tree view, there are some situations where the pasted element can be inserted either as a sibling OR as a child of the element at the insertion location. The same scenario can occur when dragging and dropping an element in the tree view. In this situation, the application now queries the user (via modal dialog) to choose whether to insert the element as child or as sibling.
Postscript output changes: Modified rendering of symbols on a data element such that each symbol is drawn, filled and stroked individually; thus, when two symbols overlap, the symbol drawn later will occlude the other. This behavior is more in line with how the data element is rendered in SVG, and it looks better, too.... Fixed a bug in Postscript rendering of figures in landscape orientation.
Introduced support for 22 new adornments, including triangles, rectangles, darts, and ovals. Note that the symbol attribute can now be any adornment supported in Phyplot, even if that adornment in intended more as an end-cap decoration.