FypML Version 6
Post date: Nov 15, 2011 5:03:15 PM
Applicable to: Phyplot versions 1.0.1 (06 Dec 2006) through 1.0.7 (25 Feb 2007).
The old pointSet, multiSet, and series elements have been replaced by a single trace node, a presentation element which defines how a referenced data set is rendered in a graph. The trace element's type attribute defines its display mode; four display modes are supported: polyline mode, in which the data points are connected by a polyline, possibly adorned with marker symbols and/or error bars; multitrace mode, in which a collection of polylines represents individual data sets, with another polyline tracing the average across those sets; errorband mode, in which polylines are drawn for the nominal trace, +1STD, and -1STD, with the band between the two standard-deviation polylines optionally filled with a solid color; and histogram mode, in which the data set is rendered as a histogram, possibly (but rarely) adorned with marker symbols and error bars. The trace element has most of the attributes of the old series element, with some exceptions and a few additions. The dx attribute is gone -- this is considered an attribute of the data itself, not its presentation. The x0 attribute is now called xoff and is accompanied by a new yoff attribute, allowing the user to apply arbitrary x- and y-offsets to the referenced data. The data set itself is now stored separately (see below), and referenced by the trace element's new src attribute.
Separation of data storage from data presentation. The root figure node now contains a single mandatory ref node, which is always its last child. The ref element has no attributes; it merely serves as a container for any number of set nodes. This is where "locally stored data sets" are kept in the Phyplot document. [Eventually, Phyplot will support remote data sources -- hence the term "local" to refer to data stored within the document itself.] As before, the data is stored in the text content of the set node as a comma-separated list of datum tuples, where each such tuple is a whitespace-separated list of one or more floating-point numbers. Additional info about the set is specified in three attributes. The required id attribute is a non-empty string with no whitespace that serves as an identifier for the data set: a trace element references a local set with id=myset by setting its src attribute to #myset. The fmt attribute indicates the data set format -- pointset, series, multiset, or multiseries. The pointset format corresponds directly to the now-obsolete pointSet element, where each tuple is a list of 2-6 numbers: x y [yStd ye xStd xe]. The series format corresponds directly to the old series element, where each tuple is a list of 1-3 numbers: y [yStd ye]. The multiset format is a more general version of the old multiSet element's format. Here each tuple is a list of 2 or more floating-point numbers: x y1 [y2 y3 ...]. All tuples should have the same length, but if that is not the case, the minimum tuple length determines the number of individual sets in the collection (the extra numbers in the longer tuples are simply ignored). Note that, for generality's sake, the format permits a collection that defines only a single point set! Finally, the multiseries format is new -- it is essentially a sampled multiset. Each tuple is a list of 1 or more floating-point numbers: y1 [y2 y3 ...]. For the two sampled formats, the set element's optional dx attribute indicates the sample interval for the x-coordinate; its implicit value is 1.
The function element no longer has the skip attribute. It was superfluous since the dx can really serve the same purpose. During migration, if a function element is encountered with skip !=1, then the element's dx attribute is simply adjusted to the value dx = dxOld*skipOld.