Schema Version 21
Post date: Apr 13, 2016 4:55:32 PM
Applicable to: DataNav version 5.0.0 (Apr-Oct 2016) only.
Introduced new schema elements to represent a 3D graph node: graph3d defines the 3D graph itself; axis is "re-used" to represent each of the 3 axes (X, Y, Z), gridline is "re-used" to control the appearance of grid lines perpendicular to each of the axes (X, Y, Z), and new element back3d controls the appearance of the 3D graph's backplanes (XY, XZ, YZ). The graph3d container has 10 required component nodes, which appear first in its child list in the following order: axis (X), axis (Y), axis (Z), gridline (X), gridline (Y), gridline (Z), back3d (XY), back3d (XZ), back3d (YZ), legend. Any optional children follow these component nodes. Note that the "units" attribute of the axis element and the "hide" attribute of the gridline element do not apply in the 3D graph context.
New enumerated attribute "backdrop" selects the backdrop style for the graph3d node: box3D, openBox3D, xyPlane, axesOuter, axesBack, hidden. The new "depth" attribute is a measured attribute specifying the physical extent of the 3D graph along its Z-axis, in real measurement units (in, cm, mm, pt). The "width" and "height" properties set the 3D world extents of the X and Y axes, respectively.
The color map associated with a 3D graph is specified by the "cmap" attribute of graph3d.
The ticks child of an axis represents a tick set defined on that axis, whether it is in a 2D or 3D graph. During initial development, we experimented with a significantly different definition for a 3D tick set, but that was dropped.
To support logarithmic 3D plots, user can configure any 3D axis to be logarithmic. (This is different from the 2D case, where the linear-vs-log scaling is determined by the 2D graph type.) Added a new "log" attribute to the axis element to encode this feature. It applies only to a 3D axis, not a 2D axis. Default value is "false".
The graph3d node allows any number of these 2D graphic objects as children: label, textbox, line, shape, and image. These are located in the 3D graph's "2D viewport", defined by the rectangle that tightly bounds the projection of its 3D backdrop onto the 2D canvas. These 2D graphic objects will typically be located in the 2D viewport using percentage coordinates, since the viewport will change with the 3D graph's dimensions and orientation.
Introduced new schema element scatter3d representing a 3D scatter plot. Obviously, it can only be a child of the new graph3d element. Requires an xyzset data source. It supports the same four display modes as its 2D counterpart, the scatter element. To support a 3D stem plot presentation, the scatter3d has a single required symbol child that governs the appearance of the marker symbols. The scatter3d node's own stroke styles govern the appearance of stem lines; to avoid drawing the lines, set strokeWidth="0in" or strokeColor="none". The symbol node's "fillColor" and "title" attributes are ignored; the "bkg" attribute on the scatter3d node allows for gradient as well as solid fills; and a symbol character is NOT supported in the 3D scatter plot. The "baseline" attribute is reused to specify the constant Z value defining the stem base plane.
Introduced new schema element surface representing a 3D surface plot. New integer attribute "limit" specifies the mesh size limit for the surface. Reused "cmap" as a boolean-valued attribute indicating whether surface is color-mapped or painted a single color (the "fillColor" attribute). The node stroke properties determine how the surface mesh is stroked. Requires an xyzimg data source.