Defines alignment for various types of labels. This attribute determines the type of chart to be created. 'hex' and 'rect' are SOM specific chart types. 'area3d', 'bar3d', 'column3d', 'line3d' and 'pie3d' are 3D specific chart types. [ "color-" ](colorname | ("#"rrggbb))[ "-"transparency"%" ] Due to licensing issues with the GIF format, direct support for GIF image type is not given. Please see FAQ for information about GIF support. The use of SVG image type requires SVG extension. In addition to the listed values, any other supported MIME image type is a valid value. Determines the format in which data values are given or output. The syntax of the format depends from the data type. dataFormat := booleanFormat | dateFormat | numberFormat | textFormat (or any other supported type format) dateFormat := date ";" locale | date | locale date := dateStyle | datePattern dateStyle := "short" | "medium" | "long" | "full" | "default" datePattern := [ prefix ] { dateComponent } [ suffix ] numberFormat := number ";" locale | number | locale number := [ prefix ] mantissa [ fraction ] [ exponent ] [ suffix ] mantissa := [ {"0"} {"#"} "," ] {"0"} {"#"} fraction := "." {"0"} {"#"} exponent := "E" | "e" [ {"0"} {"#"} | siPrefix ] textFormat := [ maxLength [ " " [ prefix ] ] ] maxLength := integer (positive) For each prefix and suffix, check the links to format specifications. Some prefixes and suffixes are described in Java documentation pages. Determines the type of the data values. In addition to the listed data types, any other supported data type name is allowed. See also AutoType. Arbitrary precision decimal data. See also BigDecimalType. Arbitrary size integer data. See also BigIntegerType. 'true' or 'false'. See also BooleanType. Date and time of day information. See also CalendarType. Calendar field information. Can be used to give time amounts as years, weeks, hours, etc. See also CalendarFieldType and a list of available calendar field names. Color name in string. See also ColorType. Nonnegative integer. See also CountType. Date information. See also DateType. Double precision data. See also DoubleType. Float precision data. See also FloatType. Font string description. See also FontType. Gradient paint description. See also GradientType. SQL Date format. See also DateInputType. See also IntegerType. See also IntegerRangeType. SQL timestamp format. See also TimestampInputType. Long precision data. See also LongType. An exact date, time, or timestamp which keeps its value when cumulated to other time types. See also MomentType. SQL date or timestamp format. See also DateOutputType. SQL timestamp format. See also TimestampOutputType. Reads in plain text, but writes out as URL encoded. For example, "2 + 2 = 4" would be printed out as "2+%2B+2+%3D+4". See also URLTextOutputType. Paint name in string. Paint names define a group of colors to be used. Furthermore, plain color names can also be used as a paint. See also PaintType. See also RelativeTimestampType. Shape name in string. Shape defines symbol to be used for data value. See also ShapeType. See also SQLTextType. Stroke name in string. Stroke defines line edge width and style. See also StrokeType. Data in text string. See also TextType. Texture name in string. See also TextureType. See also TimeType. See also TimestampType. See also URLType. See also URLTextType. Data value represents a data element. The outlook of a data value depends from the data type and from the data format. dataValue := boolean | calendar | calendarField | date | number | text | time | timestamp (or any other supported data value) Defines rotation in degrees. Positive values mean rotation in anti-clockwise direction. Defines dimension. The dimension value for axis instances inside an axes element may contain only logical or coordinate based values, but not both. The dimension can also be higher than 2. Corresponds to integer value of 0. Corresponds to integer value of 1. Corresponds to integer value of 2. Defines category axis. Typically corresponds to x-axis, but for example in bar chart corresponds the y-axis. Defines value axis. Typically corresponds to y-axis, but for example in bar chart corresponds the x-axis. Defines series axis. Usually corresponds to z-axis. Defines direction by giving three float coordinates of a vector. For example "0.0 0.0 1.0" would define direction aligned with z axis. Font defines the outlook of text. Default font is 'Serif-12'. font := name [ "-" style ] [ "-" size ] [ "-exact" ] | style [ "-" size ] [ "-exact" ] | [ "-" size ] [ "-exact" ] style := "bold" | "bolditalic" | "italic" | "italicbold" | "plain" Identity strings must be non-empty and unique within the context they are used, but they have no other formatting constrains. In particular, an identity string is never expected to encode any particular information, even if sometimes a human observer may think it may appear to do so. A reference to some identified entity. A single target entity is expected to be found in the current operation scope. If no matching entity is found, the reference is stale, and the operation that tried to use it will fail, often gracefully and silently. If more that one matching entity is found, the first one of them is picked. An appropriate non-uniquencess warning may also be issued in this case. Please note that chart identities are somewhat less restrictive that general XML identities. For details, see id attribute documentation. [ "type="("palette" | "truecolor") ] [ "transparent="(colorname | "#"rrggbb) ] [ "compression="("none" | "low" | "medium" | "high") ] [ "umat" | "colors" [ "=" n ] | "plane=" n ] n := integer (non-negative) (and any other supported parameters) (umat, colors and place are SOM specific parameters) Defines interpolation mode for determining a value. Defines alignment for legendbox. Format for different kinds of legend entries. The text strings may not contain unescaped curly brace or single quote characters. To include these special characters into string bodies, the characters must be escaped: curly braces must be enclosed within single quote characters ("'{'"), while real single quote characters are represented with two consequtive single quote characters ("''"). legendFormat := { [ prefix ] "{" value "}" [ suffix ] } value := key [ "," dataType [ "," dataFormat ] ] key := "." ( "count" | "max" | "maxPercent" | "min" | "minPercent" | "totalCount" ) This attribute determines the type of legend to be created. Legends with the type of 'paintLegend' and 'shapeLegend' utilize the visualization scales of the chart in the legend. Defines alignment for the border line of an area. A locale string of form: xml:language xml:language-country xml:language-country-variant where xml:language is a two-letter ISO lowercase xml:language code, country is a two-letter ISO uppercase country code, and variant is a locally supported xml:language variant. For a more complete explanation, please see LocaleParser class API documentation. en en-EN Consists of one to four nonnegative integers separated by space. MarginString := Margin | Margin" "Margin | Margin" "Margin" "Margin| Margin" "Margin" "Margin" "Margin Format for different kinds of annotations. The purpose of the use depends from the used attribute. The text strings may not contain unescaped curly brace or single quote characters. To include these special characters into string bodies, the characters must be escaped: curly braces must be enclosed within single quote characters ("'{'"), while real single quote characters are represented with two consequtive single quote characters ("''"). messageFormat := { [ prefix ] "{" value "}" [ suffix ] } value := key [ "," dataType [ "," dataFormat ] ] key := channelKey | subChannelKey | metaChannelKey channelKey := id | integer (non-negative) subChannelKey := channelKey [ "." subChannelKey ] metaChannelKey := "." (implicitChannel | channelAttribute) implicitChannel := ( "abs" | "label" | "max" | "min" | "percent" | "sum" | "value" ) channelAttribute := name Defines orientation of a chart. Elaborate paint to colorize a line or an area with. paint := fillMethod [ annotation ] fillMethod := solid | gradient | texture solid := colorname [ "-" transparency "%" ] gradient := solid "-" solid [ "-" orientation ] | solid "-" orientation orientation := "ascending" | "center" | "descending" | "diagonal" | "down" | "horizontal" | "left" | "right" | "up" | "vertical" texture := image [ "-" cyclic ] [ "-" crop ] [ "-" stretch ] image := [ imageIndicator "-" ] ( name | URL | data ) imageIndicator := "image" | "pattern" | "picture" | "texture" cyclic := "asyclic" | "cyclic" crop := "crop-" x ":" y ":" width ":" height stretch := "button" | "margins-" margins margins := size | width ":" height | left ":" right ":" top ":" bottom annotation := "?" attrName "=" attrValue [ anotherAnnotation ] anotherAnnotation := "&" attrName "=" attrValue [ anotherAnnotation ] attrName := text attrValue := text The data value given for the 'Position' attribute must be given in the same format that the values of the tag having the attribute have after formatting. Selects the position to be after the largest visible data value, if possible. Selects the position to be before the smallest visible data value, if possible. Selects the position at the largest visible data value. Selects the position at the smallest visible data value. Determines how position value should be interpreted. Character must be a printable character. Separator is a single character. The character must be printable and any white-space character indicates that values are separated by any white-space characters. Shape defines the form of a symbol. shape := shapeName [ size ] [ angle ] size := "-size-" factor angle := "-angle-" degrees factor := number (positive) [ "color-" ](colorname | ("#"rrggbb)) Usually, the format of the source is as defined with url. With sql data source, however, the source can be more than just an url. Self-Organizing Map initialization method. Linear SOM map initialization. Initializes SOM map with random values. Neighborhood function used in Self-Organizing Maps. Bubble neighborhood. Gaussian neighborhood. Decreasing step function used to converge SOM training. Linearly decreasing step function: a(i) = a(0) * (rounds-i) / rounds Rapidly decreasing step function: a(i) = a(0) * c / (c + i), where c = rounds / constant Topology used in Self-Organizing Maps. Hexagonal topology. Rectangular topology. Stroke defines the brush with which lines are drawn. In particular, stroke determines the width and style of a line. stroke := style "-" width | width style := strokeName | custom custom := points "-" dashes | points | dashes points := cap "-" join | cap | join cap := [ "cap-" ] ( "butt" | "round" | "square" ) join := [ "join-" ] ( "bevel" | "miter" | "square" ) dashes := dashPattern [ "-phase-" distanceOffset ] dashPattern := visibleDistance { ":" invisibleDistance ":" visibleDistance } [ ":" invisibleDistance ] distanceOffset := integer visibleDistance := integer (non-negative) invisibleDistance := integer (non-negative) Defines a number of data values, separated with a separator character. values := value1 value2 ... valueN XPath is a string that conforms to the XPath notation. For a complete XPath description, see W3C recommendation: 'XML Path Xml:Language (XPath)'. Different visual entities in charts, such as labels and titles, have sometimes more space around them than is strictly needed. Alignment attributes can be used to give preferences how entities should be positioned in the space available. For example, assume that chart X-axis has a title defined. As a default title will be placed centered at the bottom of the chart. By defining "left" titleAlignment, title will be moved to as far to the left as possible. See also labelAlignment, lineAlignment, titleAlignment and valueAlignment attributes. Learning factor in Self-Organizing Map training. SOM Requires SOM Extension. Step function used to decrease the learning factor during Self-Organizing Map training. SOM Requires SOM Extension. Color of the even nondirectional background lighting. For setting directional lighting see <directional> tag. area3d bar3d column3d line3d pie3d These charts support the 3D lighting model. An axis angle defines one angle component for the viewpoint from where the entire chart visualization is observed from. The final orientation direction of the viewpoint is defined together with up to three axis angles, each of which tells how much the viewpoint is to be rotated around the respective X-, Y-, or Z -axes. The default viewpoint orientation is located along the positive Z -axis, looking back to the origo. For all basic charts this leads to flat, stricly two-dimensional chart visualizations. For true 3D charts, the result is a 3D chart viewed dead in front of it. Any deviation from this basic viewpoint orienation will then engage basic chart isometric 3D rendering for 2D charts. For 3D charts, the viewpoint will simply be changed to the given new orientation. Basic chart isometric 3D rendering has certain well known limitations. First, isometric rendering accepts only angle values between 0-90 degrees. Furthermore, the angles do not actually control any "viewpoint orientation", but only the depth of certain isometric 3D rendering effects. Finally, isometric 3D rendering is unable to handle certain complex cumulative and scatter chart data sets correctly. Instead, sometimes in these extreme cases some object faces that should be visible are not, and vice versa. The bright side of the coin is, that isometric rendering does not require any special 3D hardware or software, and the rendering works correctly in the vast majority of cases. If isometric 3D effects effects are not enough, a set of true 3D chart visualizations are also available. These visualizations use true 3D graphics to render the chart images, complete with lightning and perspective effects, and with support for abritrarily complex data. However, 3D chart generation requires some additional software and hardware at chart generation time. Setting up such a system can therefore be a bit more difficult and expensive. But after installation, 3D chart generation is as easy as basic chart generation. Viewing the final true 3D chart images does not require any special software or hardware. hex legend rect table These charts do not have any three dimensional representation, and therefore they will just ignore this attribute. bar candlestick column combo line ohlc scatter These charts do not support angle for Z-axis. Furthermore, angles for X- and Y-axis are restricted to values 0-90. pie pie3D These charts support angle for Z-axis. The Z -axis angle rotates the pie disk around it's central axis. Positive values turn the disk to anti-clockwise direction, negative values turn the disk to clockwise direction. Antialiasing is smoothing of rough jagged edges in images. These edges occur, for example, when colored line is drawn diagonally to a low resolution white screen. Antialiasing tries to reduce the saw edge look by blending the colors of pixels next to the line. Succesfull antialiasing results in feeling of higher resolution and reduced blockiness. As a drawback antialiasing can result in smearing of small details. Antialiasing is environment depended and may not work well in all environments. Antialiasing may be toggled by setting mode 'on' or 'off'. Default value 'unset' translates to 'auto', which tries to probe current environments capability for antialiasing. table Table chart does not support antialiasing. Determines which type of average, simple or exponential should be calculated. Axis color controls the color of the axis line(s). Axis stroke controls the width and style of the axis line that is typically drawn along the dimension the axis represents. area3d bar3d column3d line3d Only width setting is supported. Back color defines the color of the borderline around given axis background, chart background or legend. Note that the back stroke has to have a width other than zero for the borderline to be drawn. table Table chart ignores this setting. Background fill paint for the axis, chart, legend or series background. Background borderline width and style for the axis, chart or legend background. table Table chart ignores this setting. area3d bar3d column3d line3d Only width setting is supported. Determines the column by which the data should be sorted. This attribute defines the type of the chart to create. Different chart types use different visualization methods and techniques to render the same data into different visual forms. The choice of what chart type to use depends on nature of the data, the information that is seeked from it, and subjective style considerations. Generally speaking, any data and any attributes may always be applied to any type of chart. In practice however, some chart data, attribute, and type combinations are not really very meaningfull, and will produce unexpected or unsatisfactory results. In particular, some attributes may be irrelevant to certain chart types, or have somewhat different effect and interpretation in different charts. For details, please see exception documentation next to each attribute so affected. Controls the clearing of existing labels in a Self-Organizing Map. SOM Requires SOM Extension. A color attribute defines how the interior of a line should be painted. Lines are often painted with a single static color, but it is important to keep in mind that they can be painted with gradient and texture paints as well, and even made partially transparent if necessary. In fact, the interior of a line can be painted just as the interior of any other area. A generic color attribute defines default line color for all rendering use in given context. This generic color can be overridden by some more specific attribute for some more specific series target. Determines the column from which data will be extracted. Data rows beginning with this character are skipped. Content type determines which output format should be used. Depending from the chart type, the output format determines either image format or XML table format that will be used. Davisor chart supports standard image formats such as jpeg , png, svg and wbmp-formats. The imageParams attribute can sometimes be used to refine output format. For example with png-images, imageParams can be used to select between palette and true color images. Cumulative attribute allows stacking two or more data channels together. Data channels are processed in order. The first, or the lower most, channel does not need to be cumulative in order to be part of a cumulative stack. Some, but not all chart types support displaying cumulative channels. Bar, line and column charts display stacked channels as stacked charts. Whereas pie and scatter charts do not support cumulative channels at all. Stacking to the negative direction is also supported. If stacked channels contain negative values in a specific position these are separately piled to the negative direction. In the example below, two stacks (-2,1,3), ranging from -2 to 4, and ( -3,-2,1), ranging from -5 to 1, would be constructed. <data> <column id="a" type="value" values="1 1 " /> <column id="b" type="value" values="-2 -2" /> <column id="c" type="value" values="3 -3" /> </data> <attributes> <plot> <series idRef="b" cumulative="true"/> <series idRef="c" cumulative="true"/> </plot> </attributes> DataFormat attribute is used for two different use cases. These cases are: Specifying how the text of a data element is changed to a data value. DataFormat defines such data element string value interpretation details that can not be derived automatically from the data element type, or the values themselves. A classical example where such formatting information is necessary would be the interpretation of a national date string like "01/02/03". Without detailed prior knowledge about the date format used here it is impossible to say what date exactly the string represents, even if we know for certain that it represents some date. A dataFormat string provides data type specific parameter information with which a data type parser can make sense of otherwise ambiguous data strings. The values a format string can get depend on the dataType the elements the data strings represent are expected to be. If a dataFormat is not specified, the data string interpreters will make their best effort to interprete the strings, but even if the interpretation succeeds syntactically, it may fail semantically. It is therefore recommended that data type definitions would always be acompanied with corresponding data string format specifications. Assume date "2001-15-3", this can be interpreted with formats "YYYY-dd-MM" and "YYYY-MM-dd". Format "YYYY-MM-dd" would interprete date as "2002-03-01", fifteenth month from year 2001 onwards. Specifying how a data value is transformed to a user readable text. all For other charts but table, the dataFormat attribute represents data element string value parsing details, only. For formatting specification strings, please see labelFormat and valueFormat. table Transforming a data value to a user readable text is supported only by table chart. Other charts have other ways, for example bars, of showing data values. <chart> <data> <column datatype="date" dataFormat="yyyy-MM-dd" type="value"> <e>2001-03-01</e> <e>2001-11-05</e> <e>2001-05-12</e> </column> </data> ... </chart> This attribute defines the data group from where data will be accepted for rendering. In particular, if this attribute is defined, chart will accept data only from the channels belonging to the named data group and secondarily from channels that do not belong to any group. If this attribute is not defined, the chart will accept data from all channels. Data group selection is useful when multiple charts draw input from the same data set. Data groups are supported by all main and sub-chart types alike. In particular, it does not matter if the axes group, this attribute is defined in, belongs to a simple chart with just a single axes group, or to a multi-chart with multiple axes groups. Finally, please note that if a required data channel can not be found amongst the channels belonging to the named data group, the channel is seached next from all the ungrouped channels. This makes it possible to create for example just one ungrouped label channel, which provides labels for a number of value channels, each belonging to a different group. Data type attribute defines what kind of values are to be expected from a data channel. Typical examples would be "date", "text" or "float". This attribute is often refined with data format attribute. In the label example below, datatype="text" definition is mandatory to get labels "two" and "three" visible. The first element of the data channel determines the type of channel if not explicitely set. Thus, because the first element "1" can be succesfully interpreted as an integer, it is assumed that all the rest of the elements in this channel are also integers. However, integer conversion of strings "two" and "three" fails, therefore second and third label would be left empty. <chart> <data> <column type="value" values="1 2 3" /> <column datatype="text" type="label"> <e>1</e> <e>two</e> <e>three</e> </column> </data> </chart> Descending defines sorting order. Axis dimension identifies to which dimension the axis corresponds to. Most charts draw to a visible two or three -dimensional coordinate systems, made of two or three axes. Also the charts that do not have visible axes, use axes when setting viewpoint orientation, among other things. The axis dimension can be designated by index or letter: 0 or X -axis, horizontal 1 or Y -axis, vertical 2 or Z -axis, towards the viewer Or the dimension can be given as a logical name: category value series Logical names 'category' and 'value' are associated to X- or Y-axis depending on the chart type. For charts not having these kind of dimensions (e.g. scatter chart has got two value axis and no category axis) 'category' and 'value' are mapped to 'x' and 'y' respectively. It is not recommended to mix logical and coordinate based dimension names. If an axis does not explicitely specify the dimension it represents, it will still be assigned one. The first unallocated dimension will be used. Each dimension can be assigned only once. In case of multiple axis instances with the same dimension index, only one of the axis (latest) will be used. If dimension is given to three axis instances with '0', 'x' and 'category', the axis instance with the dimension index of '0' will be used. Direction attribute is used for defining directional lighting to 3D charts. Direction vector is defined with three coordinates. See directional tag for explanation of suitable values for the attribute. Enclose attribute is used to control whether shapes are to be enclosed within plotting area. The drawing of symbols that are close to the edge of the plotting area is affected. Those parts of symbols that do not fit to the plotting area are not drawn at all if the value of the enclose attribute is true. If the enclose attribute is set to false, room for symbols that do not fit to the plotting area is made. As much of symbols are drawn as possible. For example, symbols will be drawn to the area between axis lines and labels. bar candlestick column hex ohlc pie pie3d rect table These charts do not support shapes. Therefore, enclose attribute is not supported. area3d bar3d column3d legend line3d These charts do not support enclosing. Determines an XPath operation to be applied to a set of nodes. Determines the row number wherefrom the data starts after comments, data names, and possible external headers. A font attribute defines the set, style, and size of glyphs text should be rendered with. A generic font attribute defines default font for all text rendering use in given context. The generic default font can be explicitly overridden by some more specific attribute for some more specific series target. If a font is set to exact, the font is not scaled in any way. If there is not enough room for a text rendered with an exact font, some parts of the text might not be shown. Function determines the function that is to be used in combining data values. Relative gap between visual elements. The gap size is given in percents. A gap of 0 means that elements are drawn side to side each other. A gap of 100 means that elements are drawn as far from each other as possible. Gap may also affect sizes of visual elements, as gap widening may happen on the expence of element sizes. In particular, making gap larger may make visual elements relatively smaller, and vice versa. Grid color attribute defines the color of gridLines. For more information about colors, see the general color. Controls if grid lines crossing an axis and axis background area are to be drawn. If set to true, a grid line will be drawn at each tic mark position. If set to false, no grid lines crossing this axis will be drawn. 3D example: consider right handed orthogonal coordinate system {X,Y,Z}. Now assume that the coordinate system is placed in origo and Z-axis is facing the viewer and X-axis pointing from left to right. Thus XY-plane corresponds the "screen". Toggling X-axis grid lines on, will generate grid lines perpendicular to the X-axis, traveling from up to down on XY-plane (or "X-axis background"), and from back to front in XZ-plane (or "Z-axis background"). bar Only vertical (X -axis) grid lines are drawn by default. column Only horizontal (Y -axis) grid lines are drawn by default. hex legend pie pie3d rect These chart types do not ever draw any coordinate axes or gridlines. Instead they just ignore this setting. Grid stroke controls the width and style of the gridLines drawn across axis line and background area. For more information about strokes, see the general stroke. area3d bar3d column3d line3d Only width setting is supported. Data channel group. All data channels sharing the same group identity will form and belong to a group with that identity. <axes/> tag dataGroup attributes may then later refer to these groups to select data from one such group only. Please note, that a data channel group (a set of data channels sharing the same group attribute value) and data column group (a tag that creates structured data channels) are two different things. <data> <column id="a" group="groupa" type="value" values="1 3 5"/> <column id="b" group="groupb" type="value" values="2 4 6"/> </data> <attributes chartType="combo"> <axes subChartType="column" datagroup="groupa"/> <axes subChartType="line" datagroup="groupb"/> </attributes> Vertical size of the image or legend. table Table chart ignores this attribute. Hidden determines whether the given entity should not be displayed. The value of the hidden attribute does not affect the processing of the entity in any other way but showing the results. In the example below, the values of the first column are not shown. If the chart for the columns were a bar chart, for example, the values of the second column would be shown as bars with length 2 starting from values 1, 2 and 3. Note the existence of attribute cumulative. area3d bar3d column3d line3d These charts do not support hidden attribute. <data> <column id="a" type="value" values="1 2 3"/> <column id="b" type="value" values="2 2 2"/> </data> <attributes> <plot> <series idRef="a" hidden="true"/> <series idRef="b" cumulative="true"/> </plot> </attributes> Specifies the action of an annotation. Depending on the output format of a chart, the value of this attribute is used for different attributes automatically. For example, with charts that are used in HTML pages, this attribute will define the value of a href attribute in an image mpa. With charts in SVG format, this attribute will define the value of an xlink:href attribute of an a tag. Possible macros in the value of the attribute are expanded before using the value. For more information about the use of this attribute, refer to the HTML specification or to the SVG specification. Unique identity of some entity. These identities are used by other entities to refer back to those entities that define them. Chart identities are somewhat less restrictive that general XML identities, as chart identities need not to be globally unique within whole given documents, but only among groups of similar entities: chart attributes identities data column identities and column group identities data column groups and column group groups (please see group attribute for more information) <data> <column id="a" type="value" values="1 1"/> <column id="b" type="value" values="2 -2"/> </data> <attributes> ... <plot> <series idRef="a" paint="red"/> <series idRef="b" paint="green"/> </plot> </attributes> A reference to some identified entity. This reference is used for linking one entity to some other identified entity. Image parameters attribute can be used to pass varying image encoding parameters depending on the context. The uses of imageParams attribute include selecting compression level (for svg), and switching between palette and truecolor (for png). table Table chart does not create an image and thus ignores image parameters. <image contentType="image/png" imageParams="type=palette"/> Determines whether null values in the data should be accepted. A Self-Organizing Map initialization method. SOM Requires SOM Extension. Determines how a value that is within the lower and upper ends of a range should be handled. Axis label alignment tells how axis labels are placed inside areas reserved for them when there is more space available inside the areas than strictly needed. The alignment tells also how multirow label text rows of different lengths are placed relative to each other. Alignment directions are always expressed relative to text orientation. For example, if text is tilted 90 degrees anti-clockwise, as happens with Y -axis marker texts, left alignment means that text is aligned down, and right is aligned up. Charts will always try to pack labels close to the symbols they are associated with. The label alignment setting can not be used to change this, and therefore label alignment may sometimes seem to have no obvious and immediate visual effect. The alignment will however always affect at least multirow label row alignment. pie pie3d Only 'inside' and 'outside' values are implemented for pie charts. area3d bar3d column3d line3d These charts do not support alignment attribute. Label color controls the color of all labels and markers laid along an axis, next to symbols, and on legends. Label font controls the font of all labels and markers laid along an axis, and next to symbols. Label format defines a text formatting template for axis tic mark value labels. Axis tic marks and value labels spans the value range between axis minimum and maximum values, with a resolution and steps appropriate to the axis value type, and available space. The label format template, if defined, will be used to control the formatting of these tic mark value labels. If the template is omitted, the value labels will be formatted with their default type and locale specific way. Please note that the label format will affect only automatically generated tic mark labels. In particular, the label format will have no effect on axis labels taken explicitly from a label data channel. pie Pie chart does not draw axes or labels along them and thus it ignores this setting. Instead, pie chart draws values, which are controlled with <plot/> tag valueFormat attribute. area3d bar3d column3d hex legend line3d pie3d rect table These charts do not support labelFormat attribute. <attributes chartType="column" > <axes> <axis dim="y" labelFormat="MM/yyyy" min="02/2001" step="2 months"/> </axes> </attributes> <attributes chartType="map"/> <legend legendType="shapelegend"/> <plot> <paintScale labelFormat="#.0"> ... </paintScale> </plot> </attributes> Label offset attributes is used for two different use cases. These cases are: Label offset defines the gap between axis and axis labels. Label offset defines the gap between legend entries. hex pie pie3d rect These chart types do not draw axes or labels along them, so they do just ignore this setting. area3d bar3d column3d line3d table These charts do not support labelOffset attribute. legend Only legend chart supports label offset in the legend tag. Furthermore, legend chart does not draw axes or labels along them, so label offset in axes and axis tags is ignored. Label paint defines the color for the background of a label. For more information about paints, see the general paint. Label rotation defines the orientation axis labels are rotated to. Positive values turn labels to anti-clockwise direction, negative values to clockwise direction. The default label orientation of zero degrees is horizontal. hex legend pie pie3d rect These chart types do not draw axes or labels along them, so they do just ignore this setting. area3d bar3d column3d line3d These chart types do draw axes or labels along them, but they do not support labelRotation attribute at the moment. table Table chart does not support labelRotation attribute. Label text defines the text for a label. Legend placement. A legend that is included into a chart is positioned to one side of the chart. This attribute determines the side into which the legend is positioned. Legend entry text format. Defines how the legend entry texts are generated. If the format is not defined, the value of the legend entry is shown without formatting. legend Only scale legend types support legendFormat. <attributes> <legend legendType="paintLegend" legendFormat="{.min} - {.max} ({.count} / {.totalCount})"/> </attributes> Defines legend type. Legend does not normally show visualization scales. The showing of scales is enabled with setting the type of the legend for one given in the LegendType . There are a few choices for which type of a visualization scale is shown in the legend. One legend can only show one type of a visualization scale. If a chart has multiple types of visualization scales that are wanted to be shown, multiple legends are needed. One legend can accompany the chart, but the rest of the legends have to be created separately. As the chart type can be set to a legend, this can be done easily. all If the main chart does not support the type of the visualization scale that is selected for the legend, the information value of the legend is questionable. Light color defines the color of a direct light. The color specifies the spectral color property of the direct light emission. Line alignment determines where the border line of an area will be drawn. An area has an infinitely thin outline. The drawing of the border line is done inside, outside or both inside and outside of the outline of the area. Line alignment can be used for example for illustrating the boundaries of a big area that has smaller areas with borders inside it. map Only map chart supports line alignment. Other charts do not draw multiple areas suitable for borders. Line color defines the color with which lines should be drawn. Lines affected by lineColor are those adjancing lines drawn between data elements of one series. Shapes for data elements are considered to be one dimensional graphical visualizations. For affecting the border of a shape, use pointColor attribute. The showing of the edges can be toggled on and off by setting lineStroke attribute. For more information about colors, see the general color. bar bar3d candlestick column column3d hex legend line3d ohlc pie pie3d rect table These charts do not adjance data points with lines and thus ignore this setting. Line paint defines the color with which the interior of an area defined by data series should be painted. Shapes for data elements are considered to be one dimensional graphical visualizations. For affecting the interior of a shape, use pointPaint attribute. For more information about paints, see the general paint. bar bar3d candlestick column column3d hex legend line3d ohlc pie pie3d rect table These charts do not adjance data points with lines and thus ignore this setting. This attribute controls smoothness of curve joining datapoints. Smoothness of "0" correspons to line interpolation, whereas smoothness of "100" corresponds to bezier curve. Values between interpolate these extremes. line scatter These charts do not support lineSmoothness with pseudo 3D. area3d bar bar3d candlestick column column3d combo hex legend line3d ohcl pie pie3d rect table These charts do not support lineSmoothness. Line stroke defines the width and style of a line. Lines affected by lineStroke are those adjancing lines drawn between data elements of one series. Shapes for data elements are considered to be one dimensional graphical visualizations. For affecting the border of a shape, use pointStroke attribute. For more information about strokes, see the general stroke. bar bar3d candlestick column column3d hex legend line3d ohlc pie pie3d rect table These charts do not adjance data points with lines and thus ignore this setting. area3d line3d Only width setting is supported. Many string formatting and parsing operation details depend on which country and xml:language locale these operations are executed in. For example, many string value parsing functions will produce downright wrong results if executed in wrong locales. Correct locale information is therefore absolutely necessary in particular when interpreting locale sensitive chart data with <data/>. There are also a number of attributes of which behaviour depends heavily on the effective locale (min and max in particular). If no specific locale has been defined, the system default locale will be used. Please note however that in order to reliably transfer chart attributes and data from one environment to another, the locale attribute must always be explicitly specified, otherwise chart data and attribute value interpretation may change from system to system in unintended ways. Currently locale is not supported. The system default locale is used. Margin defines margins that should be left around a chart. Values in the margin attribute define margins for each side. From one up to four values for margins can be given. The margins from the values are determined as in CSS2 box mode specification, which can be found at CSS2 box model. The examples below set the following margins: Sets marginTop=1, marginRight=1, margingBottom=1 and marginLeft=1. Sets marginTop=1, marginRight=2, margingBottom=1 and marginLeft=2. Sets marginTop=1, marginRight=2, margingBottom=3 and marginLeft=1. <legend paint="default" margin="1"/> <legend paint="default" margin="1 2"/> <legend paint="default" margin="1 2 3"/> Bottom margin defines the margin at the bottom of a chart. Margin is in pixels. Left margin defines the margin at the left of a chart. Margin is in pixels. Right margin defines the margin at the right of a chart. Margin is in pixels. Top margin defines the margin at the top of a chart. Margin is in pixels. Marker offset defines the gap between axis and marker labels. area3d bar3d column3d hex legend line3d pie pie3d rect table These charts do not support markers. Max attribute is used for two different use cases. These cases are: Axis maximum data value sets the value of the upper end of the visible axis range. No data points with values higher than the given maximum value will be made visible, although they may still affect function values and the like. The attribute string value will be interpreted as a data value of the same type as the data rendered along this axis. However, unlike with data values read from the actual input channel, axis maximum data value format details are taken from axis labelFormat attribute, instead of input channel data format. This makes it possible to specify axis maximum value without any prior knowledge about the formatting details used in the data source that will eventually supply data for the chart. Likewise, it makes the maximum value attribute value to be formatted as the axis labels will be when they are rendered. Data that is read in from a data source can be filtered with giving the data a maximum value that is accepted. This use case is valid with pivot data source. table Table chart shows all data values. Therefore, the chart ignores this attribute. Maximum color sets the color of the upper end of the draw color range for magnitude visualization. Data points with the greatest color value will be drawn with the maximum color. Data points usually have different real and color values. The use of maxColor requires the supplying of color values for data. Furthermore, both maxColor and minColor have to be given. area3d bar3d column3d hex legend line3d pie pie3d rect table These charts do not support maxColor setting. <column datatype="int" type="color"> <e>1</e> <e>3</e> <e>2</e> <e>5</e> </column> <plot maxColor="red" minColor="yellow"/> Maximum paint sets the color of the upper end of the fill paint range for magnitude visualization. Data points with the greatest paint value will be filled with the maximum color. Data points usually have different real and paint values. The use of maxPaint requires the supplying of paint values for data. Furthermore, both maxPaint and minPaint have to be given. area3d bar3d column3d legend line3d pie pie3d table These charts do not support maxPaint setting. <column datatype="int" type="paint"> <e>1</e> <e>3</e> <e>2</e> <e>5</e> </column> <plot maxPaint="red" minPaint="yellow"/> Maximum size sets the upper size of the size range for magnitude visualization. The given value tells of how many tenths of the whole plot area size the maximum symbol size will approximately be. The measurement is not exact nor linear, but the bigger the value, the bigger the maximum symbols will appear. The use of maxSize requires the supplying of size values for data. area3d bar bar3d candlestick column column3d combo hex legend line3d ohcl pie pie3d rect table These charts do not support such shapes that can be affected with maxSize. Therefore, these charts ignore this setting. <column datatype="int" type="size"> <e>1</e> <e>3</e> <e>2</e> <e>5</e> </column> <plot maxSize="10" minSize="1"/> Min attribute is used for two different use cases. These cases are: Axis minimum data value sets the value of the lower end of the visible axis range. No data points with values smaller than the given minimum value will be made visible, although they may still affect function values and the like. The attribute string value will be interpreted as a data value of the same type as the data rendered along this axis. However, unlike with data values read from the actual input channel, axis minimum data value format details are taken from axis labelFormat attribute, instead of input channel data format. This makes it possible to specify axis minimum value without any prior knowledge about the formatting details used in the data source that will eventually supply data for the chart. Likewise, it makes the minimum value attribute value to be formatted as the axis labels will be when they are rendered. Data that is read in from a data source can be filtered with giving the data a maximum value that is accepted. This use case is valid with pivot data source. table Table chart shows all data values. Therefore, the chart ignores this attribute. MinColor attribute is used for two different use cases. These cases are: Usage in plot tag: Minimum color sets the color of the lower end of the draw color range for magnitude visualization. Data points with the lowest color value will be drawn with the minimum color. Data points usually have different real and color values. The use of minColor requires the supplying of color values for data. Furthermore, both minColor and maxColor have to be given. Usage in colorPoint tag: Minimum color sets the color of the lower end of the draw color range of the corresponding point for magnitude visualization. area3d bar3d column3d hex legend line3d pie pie3d rect table These charts do not support minColor setting in plot tag. <column datatype="int" type="color"> <e>1</e> <e>3</e> <e>2</e> <e>5</e> </column> <plot maxColor="red" minColor="yellow"/> MinPaint attribute is used for two different use cases. These cases are: Usage in plot tag: Minimum paint sets the color of the lower end of the fill paint range for magnitude visualization. Data points with the lowest paint value will be filled with the minimum color. Data points usually have different real and paint values. The use of minPaint requires the supplying of paint values for data. Furthermore, both minPaint and maxPaint have to be given. Usage in paintPoint tag: Minimum paint sets the color of the lower end of the fill paint range of the corresponding point for magnitude visualization. area3d bar3d column3d legend line3d pie pie3d table These charts do not support minPaint setting in plot tag. <column datatype="int" type="paint"> <e>1</e> <e>3</e> <e>2</e> <e>5</e> </column> <plot maxPaint="red" minPaint="yellow"/> Minimum size sets the lower size of the size range for magnitude visualization. The ratio between minSize and maxSize sets the approximate ratio between the visible size of the smallest and largest scaled shape. minSize may also be larger than maxSize, making the values representing smaller values to appear bigger than those representing larger values. The use of minSize requires the supplying of size values for data. area3d bar bar3d candlestick column column3d combo hex legend line3d ohcl pie pie3d rect table These charts do not support such shapes that can be affected with minSize. Therefore, these charts ignore this setting. <column datatype="int" type="size"> <e>1</e> <e>3</e> <e>2</e> <e>5</e> </column> <plot maxSize="10" minSize="1"/> MultiseriesMode affects palette colors and paints, and legend rendering. By default the multiseries mode is determined according to the count of the value series. If the count is up to one or more than one, the multiseries mode is false or true, respectively. This attribute can be used to override the default behavior. If multiseries mode is true, the palette colors and paints alter between series and legend shows the names of series. If multiseries mode is false, palette colors and paints alter per data value and legend shows labels of data values. table Table chart ignores this attribute. legend Scale legends ignore this attribute. Name attribute is used for two different use cases. These cases are: Name assigns a name to this entity. Depending from the entity, the number of value channels in a chart and the value of the multiseriesMode attribute, name can be shown in a legend chart. Name defines the name of an attribute. Namespace attribute defines a property file for drawing areas. Each area in the property file is defined with a shape. The shapes are expressed in map coordinates with SVG1.1 path syntax. In the creation of an image, the map coordinates are scaled, which happens by keeping aspect ratio, so that they will fit to the possibly given image size. map Only map chart supports namespace attribute. Requires Thematic Mapping Extension. NamesRow determines the row that is used to name columns. A Self-Organizing Map neighborhood function. SOM Requires SOM Extension. NullMarker defines a string that represents a missing data value in a data source. If this string is encountered when reading data values in, it is mapped to a null data value. Opposite defines whether the title of an axis and the labels of and axis and markers should be rendered on the opposite side to the normal. The normal place to draw the labels and title is at the left, bottom or back side as appropriate for each axis. legend pie pie3d These chart types do not draw axes and thus they ignore this setting. area3d bar3d column3d line3d These charts do not support opposite attribute. Defines the orientation of a legend chart. Orientation determines whether the entries in the legend are placed horizontally or vertically in relation to each other. The entries of each series forms a distinct group of entries. These groups are placed vertically or horizontally in relation to each other when horizontal or vertical orientation is chosen, respectively. Depending from the type of the legend, the descending or ascending order of entries can be chosen with the orientation attribute. legend Only legend types that show scales support the selection of descending or ascending order of entries. legend Only legend chart supports orientation attribute. This attribute defines how the interior of an area, a shape, or a symbol should be painted. Areas can be painted with a single static color, a gradient, or a texture. In all cases, the area can be made partially transparent, too. A generic paint attribute defines default area paint all rendering use in given context unless the paint is explicitly overridden by some more specific attribute for some more specific series target. Period defines a number of data values that will be used for calculating an average. The data source can have more data values than the number defined with period. Point color defines the color with which the edges of data point symbols should be painted. These symbols include bars, pie slices, and scatter plots among others. For more information about colors, see the general color. area3d bar3d column3d hex legend line3d pie3d rect table These charts ignore this setting. line scatter The default value for these charts is "default". bar candlestick column ohcl These charts support shapes defined in marker tag. Point paint defines the color with which the interior of data point symbols should be painted. These symbols include bars, pie slices, and scatter plots among others. For more information about paints, see the general paint. area3d bar3d column3d hex legend line3d ohcl pie3d rect table These charts ignore this setting. bar column line pie scatter The default value for these charts is "default". candlestick The default value for this chart is "white,black". bar candlestick column ohcl These charts support shapes defined in marker tag. Point shape defines the form of a symbol. For more information about shapes, see the general shape. area3d bar bar3d candlestick column column3d hex legend line3d ohcl pie pie3d rect table These charts do not support custom shapes and thus they ignore this setting. bar candlestick column ohcl These charts support shapes defined in marker tag. <attributes> <plot pointShape="triangle-2"/> </attributes> Point stroke defines the rendering details of the edge lines of data point symbols. These symbols include bars, pie slices, and scatter plots among others. For more information about strokes, see the general stroke. area3d bar3d column3d hex legend line3d pie3d rect table These charts ignore this setting. bar candlestick column ohcl These charts support shapes defined in marker tag. Position attribute is used for two different use cases. These cases are: Position defines a position on the axis in axes, axis and marker tags. Position defines a position of a point in colorPoint, paintPoint and shapePoint tags. area3d bar3d column3d hex legend line3d pie pie3d rect table These charts do not support position attribute on an axis (on axes, axis and marker tags.) Position type defines how the position value should be interpreted. By default, the position value is considered to be the given value. If the interpretation is set to percent, the data values are sorted into an ascending order. The value of the largest data value that is in a position that does not exceed the given percentage amount from all data values is chosen to be the value of the position. all If the position type is set to percent, the values of the position are restricted further. The values have to be integers that are greater than 0, but less than or equal to 100. PropertyName defines the name of the property, from which data should be extracted. SQL select clause to be executed. The actual format of the query depends on the SQL database used. query="SELECT * from tablename" A text between two quotation characters is handled as a one value even if it contains separator characters. Quotation charactes can be escaped using the backslash character. Initial radius for Self-Organizing Map training. SOM Requires SOM Extension. Step function used to decrease the training radius during Self-Organizing Map training. SOM Requires SOM Extension. Resolution defines chart raster image pixels-per-millimeter resolution, if any. In particular, when resolution is defined, all chart result sizes are expressed in millimeters when they are exported. If resolution is undefined, chart size information is exported as unitless pixels. Note, many browsers do not support correctly annotation shapes and resolution. Reversed defines whether the positive growth direction of the axis should be reversed. Reversing the positive growth direction of the axis also means that the axis line and the ticks of the axis line appear on the opposite side. The default is to allow axis values to grow to the right, up and forward, as appropriate for each axis. hex legend pie pie3d rect These chart types do not draw axes and thus they ignore this setting. area3d bar3d column3d line3d These charts do not support reversed attribute. Number of Self-Organizing Map training rounds. SOM Requires SOM Extension. Seed for random number generator used with Self-Organizing Maps. SOM Requires SOM Extension. Select defines an XPath string to be used to select elements from a document. If any elements are found, the result of the selection is a set of nodes. Defines the separator character that separates individual data values in a values data string. Separator character separates columns in a data row. Escaped separator characters and separator characters occuring inside quotations are handled as normal characters, they do not separate columns. A shape attribute defines the form of a symbol. The shapes that are used can often be simple shapes like circle or triangle, but it is important to keep in mind that the shape can have a very complicated form. A generic shape attribute defines default shape all rendering use in given context unless the shape is explicitly overridden by some more specific attribute for some more specific series target. area3d bar3d column3d combo hex legend line3d pie pie3d rect table These charts do not support shapes in any form and thus they ignore this setting. bar candlestick column ohcl These charts support only shapes defined in marker tag. Silent defines whether the labels of an axis should be shown or not. If the labels are not shown, no room is reserved for the labels. Therefore, if the size of the chart is the same for a chart with labels and without labels, the latter has more room for the showing of the data. The silent attribute does not have any effect on the showing of the title of an axis. hex legend pie pie3d rect These chart types do not draw axes and thus they ignore this setting. area3d bar3d column3d line3d These charts do not support silent attribute. Source determines the location from where a resource, for example an XML document or an SQL database, can be found. source="jdbc:mysql://db.davisor.com/chart" Associates the XML data column to a SQL column of given number. Associates the XML data column to a SQL column of given name. Step attribute is used for two different use cases. These cases are: Step defines the unit step for the value range of this axis. Step defines a value range that is to be used as an aggregate class. For example, with numeric data values the step can be an integer like '10'. In this case, numbers in the range of [0,10[ will be assigned to the same class. This use case is valid with pivot data source. table Table chart does not use units when drawing axes. Therefore, this attribute is ignored. This attribute defines line rendering details. These include line width, join and cap styles, and line pattern and phase. A generic stroke attribute defines default stroke settings all rendering use in given context unless these settings are explicitly overridden by some more specific attribute for some more specific series target. area3d bar3d column3d line3d Only width setting is supported. Sub-chart type. If the main chart type is one of those that supports sub-charts, chart attributes may define multiple <axes/> tags, and each such tag defines one sub-chart. The type of such a sub-chart is defined by this attribute. Please note that the list of eligible sub-chart types is different that the list of main chart types. All sub-chart definitions with an invalid sub-chart type will be simply ignored. Likewise, all sub-chart definitions for a main chart that does not support sub-charts will also be ignored, except that the first <axes/> tag will still be used, but without paying any attention to the subChartType attribute. combo This attribute is meaningfull and mandatory for charts that have can have sub-charts. One example of such charts is a combination chart. For combination charts, any number of component charts may be defined by defining an equal number of <axes> tags, and by defining the corresponding component chart types with subChartType attributes in each such tag. Tic color defines the color of the tic marks of an axis. For more information about colors, see the general color. area3d bar3d column3d hex legend line3d pie pie3d rect table These charts do not support tic marks. Tic stroke defines the rendering details of the tic marks or an axis. The width of the tic marks is not restricted. However, a practical limitation comes from the fact that when tic marks are wide enough the tic marks merge together. For more information about strokes, see the general stroke. area3d bar3d column3d hex legend line3d pie pie3d rect table These charts do not support tic marks. This attribute defines the alignment for the title. legend pie pie3d These charts do not have titles for axes. Therefore, titleAlignment attribute is not supported. area3d bar3d column3d line3d These charts do not support titleAlignment. Title color defines the color of the title of an axis. For more information about colors, see the general color. legend pie pie3d These charts do not draw axes and thus they ignore this setting. Axis title text font. legend pie pie3d These charts do not draw axes and thus they ignore this setting. Gap between title and labels. legend pie pie3d These charts do not have titles for axes. Therefore, titleOffset attribute is not supported. area3d bar3d column3d line3d table These charts do not support titleOffset attribute. Title rotation angle in degrees. legend pie pie3d These charts do not have titles for axes. Therefore, titleRotation attribute is not supported. area3d bar3d column3d line3d table These charts do not supports title rotation. Axis title text laid typically along the axis. legend pie pie3d These charts do not draw axes and thus they ignore this setting. Map topology for Self-Organizing Map. SOM Requires SOM Extension. This attribute defines the role all data in a data channel represents in a chart. Please see ColumnType for a complete list of possible data roles. The most important data role type is value, because it represents the actual data values to be visualized by a chart; all other data roles represent just additional information that further explains or decorates actual data values. <data> <column type="value" values="1 3 5"/> </data> <data> <column type="value" values="1 3"/> <column type="value" values="2 4"/> <column type="color" values="red green"/> <column type="label" values="a b"/> </data> <data> <group type="value"> <column values="2 5 7"/> <column values="1 6 2"/> </group> </data> Url context defines the base URL address against which relative URL addresses are evaluated. The meaningfull interpretation of relative URL addresses requires their evaluation against some absolute base URL address. This base URL address may be explicitly given with this attribute. For example, some attributes and data values may contain and make use of relative URL addresses. If no base URL is explicitly defined, the base URL address will be deducted from the runtime context in use case dependant ways. With JSP pages and tag libraries for example, the URL address of the containing JSP page is used. With Java applications, the base URL will be taken from the current file path of the application. Value defines the value of an attribute. Possible macros in the value of the attribute are expanded before using the value. Value label alignment. Defines the position of value labels defined by valueFormat in proportion to data point visualizations. Exact positioning and supported alignment values are chart type specific. area3d bar3d column3d line3d These charts do not support valueAlignment setting. Value color controls the value label text color. Value labels are generated for each data point basing on valueFormat. Value font controls the value label text font size and style. Value labels are generated for each data point basing on valueFormat. Value label text format. Defines how the value label texts are generated. If the format is defined, the graphical representation of a data value will have a text attached to it. This attribute can be used for both normal and cumulative data series. With cumulative data series, the cumulative values, if desired, can be used when the texts for values are generated. The meaning of some meta channel keys (e.g. '.sum' and '.abs') varies a bit based on the chart type. pie '.percent' meta channel key is supported only in pie charts. ohlc candlestick These chart types do not support value labels. table Table chart shows data values by expressing values as text. Therefore, table chart uses dataFormat attribute for defining how data values should be shown as text. <attributes> <plot> <series idRef="a" valueFormat="{.value,float,0.0}" type="value" values="10 11 12"/> <series idRef="b" valueFormat="{.sum,float,0.0}" cumulative="true" type="value" values="20 21 22"/> </plot> </attributes> Value paint controls the value label background fill color. Value labels are generated for each data point basing on valueFormat. table Table chart ignores this attribute. See back paint attribute for table chart. A list of data values separated by separator character. Defines scalar multiplier, by which this normalized column is weighted. Used to define which SOM map is tried to be used for normalization information. This can be useful, if one wants to project data to already trained SOM map. Width of the image or legend in pixels. table Table chart creates a table with the given width. Rendering the table, however, might show a wider table. This can happen if the table with long texts in the cells is rendered with a browser, for example. Determines horizontal index for a SOM cell. This is used to select a cell from the SOM map. Determines vertical index for a SOM cell. This is used to select a cell from the SOM map. This tag is used for annotating areas in the resulting chart. For example, bars in a bar chart can have hyperlinks that direct the user to another page. Most attributes for annotation are given with attr elements. However, there exists a special attribute for the action of an annotation and a special element for the description of an annotation. With annotation elements, it is guaranteed that the action of an annotation is defined with href attribute. Likewise, it is guaranteed that the description of an annotation is defined with text element. The output format of the chart does not have any effect on the guarantees. For example, for charts used in HTML pages and for charts in SVG format, the action of an annotation is defined with href attribute. If multiple annotation elements exist within the same parent element, the attributes defined within annotation elements will be combined. If the same attribute is defined in many annotation elements within the same parent element, the definition within the last annotation element is used. The annotation tag is just one way to obtain annotation links for data values. The tag is well suited for giving a common annotation link for many data values. When each data value should have a unique annotation link, the column element with url value in type attribute could be used. Another way is to use annotation possibility given in PaintValue attribute type for data values. table Table chart does not support annotation. Specifies the action of an annotation. This tag defines chart background area series attributes which control the appearance of chart background area. Chart background area extends the whole area over which the chart is drawn upon. The background area is surrounded with a borderline, and filled with background paint. The background area will be partially painted over with shapes and forms that make the actual chart, but the areas that remain untouched will show the background paint. The background will also show through any partially transparent chart components. The background itself may also be partially and totally transparent, in which case any graphics placed beneath the chart in the final page layout will also show through. Chart background area borderline will always surround the whole chart area, and all chart component will always be strictly contained within the borderline. The borderline may also be infinitely thin (stroke width zero), in which case the chart will appear to have no borderline. <area paint="red-vertical" color="black" stroke="2"/> Background borderline color. The borderline surrounds the entire chart image outer edge, but it will be visible and painted with this color only if the borderline stroke width is also not zero. Background fill paint. The background area covers the entire chart image, and it will be filled with this paint before anything else is drawn on it. Chart visualizations will then be drawn on top of the backgound area, leaving parts of it visible, and obscuring the rest either partially or completely. Background borderline width and style. A zero borderline width (the default) indicates no borderline. Anything else will make the borderline visible, and painted with the borderline color. Borderline width will eat away space from the actual chart visualizations, up to an point where an extreamly wide borderline fills the entire chart image area. Default area generic color. If set, it will be used as the default color for all area specific color settings within this area. Please note that areas do currently support only one color attribute, backColor. This may change in the future. Default area generic paint. If set, it will be used as the default paint for all area specific paint settings within this area. Please note that areas do currently support only one paint attribute, backPaint. This may change in the future. Default area generic line width and style. If set, it will be used as the default width and style for all area specific line settings within this area. Please note that areas do currently support only one line width and style attribute, backStroke. This may change in the future. Attribute for annotation is given with this element. In theory, attribute name and value are free for the user to choose. Given attribute name and value are passed to the resulting chart as they were given after possible macro expansion. Depending from the output format of the chart, there might be some attribute names that are read but later ignored. For example, with charts that are used in HTML pages, the following two attribute names will be ignored: coords shape The reason for ignoring these attribute names is the fact that areas for annotation are known only after creating the chart. After the chart is created, the values for these attributes are created automatically. With charts that are created with SVG format, the following two attribute names will be ignored: xlink:href xlink:title The reason for ignoring these attributes is the guaranteeing of using href attribute for defining the action of an annotation and using text element for defining the description of an annotation. Due to these guarantees, the following attributes will be ignored for all output formats of a chart: alt href Name of the attribute. Value of the attribute. This tag and it's children define all aspects of chart visual appearance and style. This tag is one of the two main chart control tags, the other being the <data/> tag which controls all chart input data. Attribute tags may appear alone or together with other attribute tags which each defining a set of visual appearance and style settings. If more than one attribute tags are defined together, each should be given an unique id attribute value so that the individual sets can be told apart, and referenced at individually. If an attribute tag appears alone, no id is necessary, as all functions that need chart attributes will default to the first attribute set available. Besides visual appearance, chart attributes define also a set of contextual attributes that affect how attribute and data values are intepreted. Please see locale and urlContext for more information. <attributes id="style1"> <area color="black" paint="red-vertical" stroke="dot-1"/> </attributes> Chart type. If the chart type uses sub-charts, they are defined by enclosed <axes/> tags, each with it's own sub-chart type attribute. If the selected chart type does not use sub-charts, the enclosed tags are expected to define only one <axes/> tag, without any sub-chart type attribute. combo At the moment, the only chart type to support sub-charts is the combo chart. Attribute set identity. If defined, applications may explicitly refer to and select which attribute set to use when there are several different sets available. If there is any ambiguity of which set to use, the set that gets selected depends on the application in question, although the most typical and recommended behaviour is always to select the first available set. If there is only one attribute set defined in given context, there is no ambiguity about which set should be used. In these cases it is not strictly necessary to give the sets any identities. However, it would be good coding practice to define identites even in these cases, in case more attribute sets are defined in the same contexts in the future. String formatting and parsing locale. This locale will be used when formatting and parsing attribute and data value strings, unless explicitly set otherwise for some particular item. Determines the behaviour of palette colors and paints, and legend rendering. Given multiseries mode affects the whole chart. Property file for determining areas. Base URL address. If defined, relative URL addresses will be evaluated against given base URL address instead of a default one. This tag defines a coordinate axis system, made of a number of data axes (X, Y, Z, and others). Axis system attributes define how data is laid on a coordinate system, what value ranges of the data are shown, what decorations and titles are placed on each axis, and what viewing angle will be used to look at the result. Each coordinate axis system displays data coming from a single data group. Basic charts accept data from only one such group, and hence use exactly one coordinate axis system. Combination charts combine data from several data groups, and hence use multiple coordinate axis systems. Certain charts ignore certain coordinate axis system attributes as irrelevant. For example, pie charts use axes only to control the viewing angle from which the resulting pie will be looked at. Please see the exception notes associated with affected attributes below. An <axes/> tag may contain a number of <axis/> children tags which define axis specific details and exceptions, and a single <plot/> tag that defines coordinate axis system specific plot area attributes. The plot tag is useful in particular with combination charts with multiple axis systems. Axis line default color. All axis lines in this axis group will be draw with this color, unless explicitly set otherwise for some particular axis. Axis line default width and style. All axis lines in this axis group will be draw with this stroke, unless explicitly set otherwise for some particular axis. Axis borderline default color. Please see <axis/> tag description for more information about axis borderlines. Individual axes may override this setting with <axis/> tag backColor attribute. Default axis background fill paint. Please see <axis/> tag description for more information about axis background. Individual axes may override this setting with <axis/> tag backPaint attribute. Axis borderline default width and style. All axis borderlines in this axis group will be drawn with this width and stylecolor, unless explicitly set otherwise for some particular axis. Axis default color. If set, it will be used as the default color for all axis specific color settings within this axis group. In particular, the following color settings will use this attribute as their default value. axisColor backColor gridColor labelColor ticColor titleColor Each listed attribute may later be set individually, overriding this generic setting. The values may also be overridden further with axis specific settings. Source data group. If defined, all rendering that goes into this coordinate system will take primary data from the given data group. If this is a composite chart with multiple <axes/> tags, each may use a different different data group. For more information about data groups, please see group and dataGroup attribute documentation. area3d bar3d column3d line3d pie3d The current versions of 3D charts do not yet implement this feature. Axis default font. If set, it will be used as the default font for all axis specific font settings within this axis group. In particular, the following font settings will gain a new default value. labelFont titleFont Each listed attribute may later be set individually, overriding this generic setting. The values may also be overridden further with axis specific settings. Default relative distance between uniformly laid elements. If set, it will be used as the default gap for all axis in this axis coordinate system. Individual axes may override this setting with axis gap attribute. Grid line default color. All axis grid lines in this axis group will be drawn with this color, unless explicitly set otherwise for some particular axis. Controls if axis grid lines should be drawn by default or not. Individual axes may override this setting with axis gridLines attribute. The default is to draw the grid lines, although the exact default behaviour is chart type specific. Please also see <axis/> tag documentation for more information about axis backfaces. Grid line default width and style. All axis grid lines in this axis group will be drawn with this width and style, unless explicitly set otherwise for some particular axis. Axis label default alignment. All axis labels in this axis group will be aligned like this, unless explicitly set otherwise for some particular axis. Axis label default color. All axis labels and markers in this axis group will be drawn with this color, unless explicitly set otherwise for some particular axis. Axis label default font. All axis labels and markers in this axis group will be rendered with this font, unless explicitly set otherwise for some particular axis or marker. Axis value label default format. All axis value labels in this axis group will be formatted with this format template, unless explicitly set otherwise for some particular axis. Default distance between axis line and labels. All labels along all axes in this axis group will be placed this far from their respective axis lines, unless explicitly set otherwise for some particular axis. Axis label background paint. Axis label default orientation. All axis labels along all axes in this axis group will be oriented to given angle, unless explicitly set otherwise for some particular axis. Please note that axis markers are unaffected by this attribute. Instead, they have their own label rotation attribute that affects each marker separately. Default distance between axis and marker labels. All marker labels along all axes in this axis group will be placed this far from axis value labels, unless explicitly set otherwise for some particular axis. All markers in one axis have the same marker offset. Axis default side of the placement of labels and title. All axis in this axis group will have their side of the placement of labels and title determined with this attribute, unless explicitly set otherwise for some particular axis. Axis default paint. If set, it will be used as the default paint for all axis specific paint settings within this axis group. In particular, the following paint settings will use this attribute as their default value. backPaint labelPaint Each listed attribute may later be set individually, overriding this generic setting. The values may also be overridden further with axis specific settings. Axis default position. All axis in this axis group will be intersected by other axes at this position, unless explicitly set otherwise for some particular axis. Giving a default position in the form of DataValue to all axes does not necessarily work very well. For example, if one axis represents days and another axis represents salaries, specifying the default position as 4 days does not work. combo Uses a fixed value of before for the attribute. Axis default positive growth direction. All axis in this axis group will have their positive growth direction determined with this attribute, unless explicitly set otherwise for some particular axis. Axis default omission of labels. All axis in this axis group will have their showing of labels determined with this attribute, unless explicitly set otherwise for some particular axis. Default axis line line width and style. If set, it will be used as the default for all axis specific line width and style settings within this axis group. In particular, the following line width and style settings will use this attribute as their default value. axisStroke backStroke gridStroke ticStroke Each listed attribute may later be set individually, overriding this generic setting. The values may also be overridden further with axis specific settings. area3d bar3d column3d line3d Only axisStroke default value can be set using stroke. Sub-chart type. Used for defining a sub-chart of this <axes/> tag for charts with sub-chart support. Color of tic marks. The default color of the tic marks of individual axes is not necessarily the color defined with this attribute. See the ticColor attribute of <axis/> tag for information about the defaults for the color of the tic marks. Rendering details of tic marks. The default stroke of the tic marks of individual axes is not necessarily the stroke defined with this attribute. See the ticStroke attribute of <axis/> tag for information about the defaults for the stroke of the tic marks. Defines default alignment for axis title. Individual axes may override this setting with <axis/> tag titleAlignment attribute. Axis title default color. All axis titles in this axis group will be drawn with this color, unless explicitly set otherwise for some particular axis. Defines default font for axis title. Individual axes may override this setting with <axis/> tag titleFont attribute. Defines default offset for axis title. Individual axes may override this setting with <axis/> tag titleOffset attribute. Offset defines the gap between the title and axis labels. Defines default rotation for axis title. Individual axes may override this setting with <axis/> tag titleRotation attribute. The default title orientation (zero degrees) is along the axis. This tag defines one individual data axis. Axis attributes define how data is laid on this axis, what value ranges of the data are shown, what decorations and titles are placed on this axis, and what viewing angle around this axis will be used to look at the result. Axis specific attributes values take preference over corresponding axis system attribute values, defined by <axes/> parent tag. The data dimension an axis controls is controlled by the dim attribute. It is an error if two axes belonging to the same coordinate axis group try to control the same dimension. An axis controls all visual aspects of all items laid along the axis. These include: the axis line itself axis tic marks gridlines perpendicular to the axis background area on the "left" side of the axis the labels laid along the axis a title laid along the axis the markers placed on specific axis values The axis background concept needs some further clarification. First, in a simple two-dimensional case, the area between the X- and Y -axes is the only axis background area visible. The decoration of this area is simply controlled by the X -axis background attributes, while the background attributes of all the other axes are simply ignored. In three-dimensional case things become a slightly more complicated, since we now have also "left" and "bottom" background areas to consider. These background areas are controlled by the Y- and Z -axis attributes, respectively and independently of all the other axes. Finally, each backface not explicitly configured will inherit it's decoration settings from the axis coordinate system the respective axes belong to. Chart axes control also chart viewing angle. Each axis has an angle attribute that tells the angle the chart viewing angle should be rotated around the axis in question. For example, to view a chart from above, the viewing angle may be turned there by setting horizontal X -axis angle to some positive value. To view the same chart from left, set Y axis angle to some positive value. Axis angle settings may also be combined so that to view the chart from above and left, set both X- and Y -axis angles. Finally, please note that many chart types have only limited support for viewing angle transformations. For details, please see the exception notes associated with affected attributes below. <axis titleText="X -axis" min="10" max="40" labelFormat=".00"/> <axis dim="1" titleText="Y -axis"/> <axis dim="z" backPaint="blue"/> Chart 3D viewpoint orientation angle around this axis. Axis line color. Axis line width and style. Axis background line color. Axis background fill paint. Axis background line width and style. Axis default color. If set, it will be used as the default color for all axis specific color settings for this axis. In particular, the following color settings will gain a new default value. axisColor backColor gridColor labelColor ticColor titleColor Each listed attribute may later be set individually, overriding this generic setting. area3d bar3d column3d line3d pie pie3d These charts apply the given default color for axisColor only. Axis dimension index or name. Axis default font. If set, it will be used as the default font for all axis specific font settings for this axis. In particular, the following font settings will gain a new default value. labelFont titleFont Each listed attribute may later be set individually, overriding this generic setting. Relative distance between uniformly laid elements. hex pie rect scatter These charts do not support gap attribute. Grid line color. Controls if axis grid lines should be drawn or not. The default is to draw the grid lines, although the exact default behaviour is chart type specific. Please also see <axis/> tag documentation for more information about axis backfaces. Grid line width and style. Axis label alignment. Axis label and marker color. In particular, all axis markers will be draw with this color, too, unless explicitly set otherwise for some particular marker. Axis label and marker font. In particular, all axis markers will be rendered with this font, too, unless explicitly set otherwise for some particular marker. Axis value label format. Distance between axis line and labels. Axis label background paint. table Only table factory supports this attribute. table This attribute has an exceptional default path. First, default is searched normally as given in the default list. If, however, no value has been specified on the default path, the back paint of the plot tag is used. The default path of the back paint of the plot tag works normally. Axis label orientation. Please note that axis markers are unaffected by this attribute. Instead, they have their own label rotation attribute that affects each marker separately. Distance between axis and marker labels. Axis maximum data value. Axis minimum data value. Side of the placement of labels and title. Axis default paint. If set, it will be used as the default paint for all axis specific paint settings for this axis. In particular, the following paint settings will use this attribute as their default value. backPaint labelPaint Each listed attribute may later be set individually, overriding this generic setting. Axis position. Other axes will cross this axis at this position. Axis positive growth direction. Omission of axis labels. Defines the unit step for the value range of this axis. Axis labels and grid lines will be drawn to the axis so that the value distance from one grid line to another is one unit step. Axis line width and style. If set, it will be used as the default for all axis specific line width and style settings for this axis. In particular, the following line width and style settings will use this attribute as their default value. axisStroke backStroke gridStroke ticStroke Each listed attribute may later be set individually, overriding this generic setting. Color of tic marks. Rendering details of tic marks. Defines alignment for axis title. Axis title color. Defines font for axis title. Defines offset for axis title. Offset defines the gap between the title and axis labels. Defines rotation for axis title. The default title orientation (zero degrees) is along the axis. Defines text for axis title. legend pie pie3d These charts do not have titles for axes. Therefore, titleText attribute is not supported. This tag defines a bean data source. Bean data source is used to import data from a bean in a jsp page. The bean should be added to the attributes of the pageContext of the page. The addition happens with: pageContext.setAttribute("name",bean); , where the value of the name is the same as the value of the source attribute. Beans imported should have a property getter which serves a collection. It is implicitly assumed that objects in the returned collection are all of the same data type and the first object in the collection fixes the data type for the collection. Therefore, the first element served from a collection should not be null. If the first element happens to be null, the column type of the collection will be set to label. <bean source="beanA"> <beanColumn propertyName="summary" name="bean summary"/> <bean/> Name of the bean from which data is to be extracted. BeanColumn defines from which property in the bean the data of the collection is to be imported from. The bean should provide a method of the format: Collection get<propertyName>(); , where the value of the <propertyName> is the same as the value of the propertyName attribute. Format of the data values available from the collection. Type of the data available from the collection. ID for the output column. Name for the output column. The name of the property of the bean from which collection can be queried. Type for the output column. This tag joins two or more bean data channels into one composite channel. The tag works exactly as <group/>, but the joined channels are bean data channels. See <group/> for more documentation about grouping data channels. <bean source="beanA"> <beanGroup type="value" id="participants"> <beanColumn propertyName="X-coordinate"/> <beanColumn propertyName="Y-coordinate"/> </beanGroup> </bean> Column group data group. Channel group identity. <series/> tag id attributes may later refer to this identity value, in order to add or overwrite channel group attribute values. Name for this value group. The role this data channel plays in a chart. candlestick ohlc scatter Only these charts expect structured data at the moment. The charts expect only structured value channels. This element is used to select cell from a (trained) SOM map. Elements are identified from the lower right hand corener in the grid. X-dimension is 0 at the right most edgde. Similarly the bottom most row is 0 in Y-dimension. Horizontal index of the cell to be selected. Vertical index of the cell to be selected. This is the root tag for chart XML documents. It contains everything a chart image generator needs to generate one image. In particular, it declares one chart data source, and at least one chart attribute set that tells all visual appearance details the chart image should be generated with. If a chart XML document defines more than one attribute set, one of them must be explicitly selected at chart image generation time, or else the first of them will be used by default. <chart> <data> <column type="value" values="34 45 67 89"/> <column type="paint" values="red green blue orange"/> </data> <attributes> <area paint="red-vertical" color="black" stroke="2"/> </attributes> </chart> This tag defines a collection data source. Collection data source is used to import data from a collection object in a jsp page. The collection object should be added to the attributes of the pageContext of the page. The addition happens with: pageContext.setAttribute("name",object); , where the value of the name is the same as the value of the source attribute. It is implicitly assumed that objects in a collection are all of the same data type and the first object in the collection fixes the data type for this collection. Therefore, the first element served from a collection should not be null. If the first element happens to be null, the column type of the collection will be set to label. <collection source="summaryList"/> <collection source="summaryList" > <collectionColumn name="summary data"> </collection> Name of the collection object from which the data is to be extracted. CollectionColumn can be used to define attributes for the imported collection data. For example, name for the imported column can be defined. Format of the data values available from the collection. Type of the data available from the collection. ID for the output column. Name for the output column. Type for the output column. This tag joins two or more collection data channels into one composite channel. The tag works exactly as <group/>, but the joined channels are collection data channels. See <group/> for more documentation about grouping data channels. <collection source="pairlist"> <collectionGroup type="value" id="participants"> <collectionColumn name="driver"/> <collectionColumn name="mapper"/> </collectionGroup> </collection> Column group data group. Channel group identity. <series/> tag id attributes may later refer to this identity value, in order to add or overwrite channel group attribute values. Name for this value group. The role this data channel plays in a chart. candlestick ohlc scatter Only these charts expect structured data at the moment. The charts expect only structured value channels. Each color point defines a point in a color scale. The value of the point is defined by the position and positionType attributes. When a data value is rendered, a possible value attached to the data value with a color channel is compared to the values of color points. The color point that has the smallest value that is greater than or equal to the value attached to a data value is selected. Therefore, there is a certain range of values attached to data values that correspond to the same color point. The maximum value of this range, which happens to be the value of the point itself, is considered to be the upper end of the point. The minimum value of this range, which is a value that is just a little bit greater than the value of the previous point, is considered to be the lower end of the point. The previous point is the point with a value that is the greatest of those points that have a value that is smaller than the value of this point. Depending from the chart, the color(s) of the selected color point may be used in the rendering of the data value. Determines the color of the upper end of this point. If the minColor and interpolationMode attributes are not defined, this color is used for the whole range of values that correspond to this point. all If the minColor and interpolationMode attributes are defined, the type of this color is ColorValue, not PaintValue. Determines whether interpolation is used for this point in determining a color for rendering a data value. Determines the color of the lower end of this point. This color is used only if interpolationMode attribute has been defined for this point. Determines the position of this point in a color scale. Interpretation type for position. Color scale defines how the values of color channels should be used for rendering the chart. Each color scale is composed of a number of color points. The color points that are collected to a color scale define a sequence of colors that are used for rendering the chart. The sequence can be continuous and cover all values in color channels or the sequence can have gaps for which no visible color is defined. Provides default interpolation mode for the points of this scale. This tag defines one data channel. A data channel contains a finite sequence of data values of equal type and significance. Some or even all of the elements in the sequence may have a special null value, signaling the absense of any specific value. A sequence may also be completely empty, containing zero elements. Each channel has a column type that specifies for what purpose the data in this channel is meant for. For example, the channel may be flagged to contain data values to be visualized in chart specific way, or labels that explain and tag such values. Please see ColumnType for a list of recognized data channel types. All elements in a single data channel share a common data type and data format. These attributes specify what kind of arithmetic operations can be applied on the data values, and how they may be parsed from and formatted as strings. Some example data types would be simple scalar values and Gregorian calendar dates; both can be expressed as decimal values, but when such decimal values are interpreted, it is vital to known which are expected. Each data channel has also an identity with which it can be explicitly referenced at, and a channel group it belongs to. A channel that does not belong to any explicit group still belong to an implisit group of ungrouped channels. Chart image generators use channel identity and group to select values from data channels for various purposes. For example, label formatters make use of channel identities, while combination charts make use of channel groups. In addition to the attributes given with the channel data, the interpreting and rendering of the channel data depends from a number of other attributes. These attributes are given in chart <series/> attribute tags. All attributes except channel identity given in series tag for the corresponding channel will override the corresponding attributes given with the channel data. This makes it possible to define generic data sources with default attribute sets without any prior knowledge of or restrictions over the applications the data is later used for. If a channel belongs to a specified channel group, channel specific series attributes are ignored. area3d bar3d column3d line3d pie3d Only the following column attributes are supported: id, name, type, and values. <column id="results" type="value" values="1.4 562.2 -15.345 0"/> <column id="colorcodes" separator="," type="paint"> red,black <e>green</e> <element>blue</element> </column> <column id="dates" type="value" dataType="date" dataFormat="E-h:m"> <element>Monday-9:0</element> <element>Wednesday-10:9</element> <element>Friday-11:58</element> <element>Sunday-13:33</element> </column> Data element string value interpretation details. Data type tells how a string value should be interpreted as a data value. This can be useful, for example, when retrieving data from database. String interpretation details may be further defined with data format attribute. Column data group. <axes/> tag dataGroup attribute may later be used to refer to this group identity to select input only from the channels belonging to the named data group. See group attribute for an example. combo In combo charts, column group definition can be utilised. Channel identity. These identity values, if defined, are expected to be unique over all <column/> and <group/>tags within the same chart data source. <series/> tag id attributes may later refer to these identity values to select which data channel attribute values to modify. See id attribute for an example. Name for this column of values. In 3D charts, the name is displayed on the Z-axis of some chart types. If the name should not be displayed, the font of the Z-axis should be set to zero. scatter name attribute in a column tag for a scatter chart does not have any effect on legend chart. name attribute of a group tag should be used instead. Defines the separator character that separates individual data values in a values data string. <data> <column id="a" type="value" values="1 3 5"/> <column id="b" separator="x-x" type="value" values="2x4x6" /> </data> Would define two columns "a" and "b", with three data values each. Associates the XML data column to a SQL column of given number. See sqlColumnName for an example. Associates the XML data column to a SQL column of given name. 'sqlColumnName' overrides 'sqlColumnIndex' if both are given. If neither are given, 'sqlColumnName' defaults to the XML data column id. <chart:sql query="SELECT name,age FROM FRIENDS"> <chart> <data> <column sqlColumnName="age" type="value"/> <column sqlColumnIndex="1" type="label"/> </data> </chart> </chart:sql> In this example, one would get chart representation of friends, so that name would be used as label and age as the value. The role this data channel plays in a chart. A list of data values. An alternative for <element> tags. This tag defines a csv data source. CSV data source is used to import data from a text file. It is assumed that each data row is in its own line and columns are separated from each other by a separation character. data.txt - config.xml -config2.xml #performance summary #employee;sales;costs Mike;9000;5000 Anne;4000;4500 Leila;12000;6500 James;9000;5500 ... <csv source="http://fileserver:8080/chart/Data.txt" separatorChar=";" firstDataRow="3" /> <csv source="http://fileserver:8080/chart/Data.txt" namesRow="2" separatorChar=";"/> <csvColumn column="1" id="a" /> <csvColumn column="3" id="b" /> <csvColumn column="2" id="c" /> <csv/> URL to the csv file. Separator character separates columns in a data row. Data rows beginning with this character are skipped. A text between two quotation characters is handled as one value. Missing data values are represented using this string in csv file. When such string is encountered in csv file, a null data value is created to represent missing data value. The row number of the first data row from the beginning of the file. Numbering starts from 1. This row is used to name columns. Numbering of rows starts from 1. The name row should consist of column names separated with separatorChar. The name row line can start with comment character(s) that are ignored. CsvColumn is used for selecting the column that is to be imported from the text file. Selection is done by indicating the number of the column by using the column attribute. Extra information for the resulting column can also be given. ID of the input column to be selected. Format of the data values available from the collection. Type of the data available from the collection. If the type is not given and the data can not be expressed as a float, the type of the data is considered to be text. ID for the output column. Name for the output column. Type for the output column. This tag joins two or more csv data channels into one composite channel. The tag works exactly as <group/>, but the joined channels are csv data channels. See <group/> for more documentation about grouping data channels. <csv source="http://fileserver:8080/chart/Data.txt" namesRow="2" separatorChar=";"> <csvGroup type="value" id="items"> <csvColumn column="hammer"/> <csvColumn column="nail"/> <csvColumn column="saw"/> </csvGroup> </csv> Column group data group. Channel group identity. <series/> tag id attributes may later refer to this identity value, in order to add or overwrite channel group attribute values. Name for this value group. The role this data channel plays in a chart. candlestick ohlc scatter Only these charts expect structured data at the moment. The charts expect only structured value channels. This tag defines a chart data source. A data source declares a number of data channels that each may contain a number of data elements. Data channels may also be grouped, in which case corresponding data elements in the grouped channels form more complex, structured data elements made of two or more simpler elements. The data elements within each channel form data sequences where each element has a well-defined place within that sequence, and a corresponding index number. All elements with equal index numbers are said to correspond to each other. For example, the first element in a data value stream corresponds to the first element in a data label stream. When these two streams are then fed to a chart image generator, it will render the first label text next to the first data value. The same goes with grouped channels: the first elements in the grouped channels form the first complex element, and so on. Finally, when two or more streams are used together and some of them have fewer element than some other streams, all shorter streams are padded with null elements to make them all of equal length. In certain circumtances, in particular when working with chart JSP tag libraries, a chart data source may omit the actual data elements alltogether, and rely on that the data itself will be fetched from some external source, like a SQL database or a non-XML data file. The data column declarations will then just tell how this external data will be mapped to corresponding chart data streams. Please see for example the SQL column index attribute in <column/> tag for a mechanism of how to bind SQL table columns to corresponding chart data streams. <data> <group id="points" type="value"> <column values="1 2 4 8 16 32"/> <column values="0.5 -4.3 -4.2 8 8.2 8.201"/> </group> <column id="texts" type="label" > <element>Sample 1</element> <element>Sample 2</element> <element>Sample 3</element> <element>Sample 4</element> <element>Sample 5</element> </column> </data> This tag defines a directional light source that emits light rays parallel to a given 3D direction vector. The direction vector is expressed relative to chart world coordinate system. All chart 3D models are placed at world coordinate origo, while the camera the models are viewed through is always fixed at a point along the positive Z -axis from where it looks back towards the origo, along the negative Z -direction. Useful reference directions for any directional light source would therefore be: 0 0 -1: behind the camera 1 0 -1: behind and left of the camera 0 1 -1: behind and below the camera -1 0 -1: behind and right of the camera 0 -1 -1: behind and above the camera Directional light intensity does not attenuate with distance. Direction vector length does not also affect the light intensity in any way, so directional vectors "0 0 -1" and "0 0 -1000" will have exactly the same effect. <chart> <attributes> <lighting> <directional lightColor="white" direction="-1 -1 -1"/> </lighting> </attributes> </chart> Direct light color. Direction vector. The direction specifies the direction vector of the illumination emanating from the light source. Light is emitted along parallel rays from an infinite distance away. Alternate shorthand form of the <element/> tag. This tag and it's equivalent shorthand version the <e/> tag define one data element within a data channel. The data element value is defined by tag body content, which will be interpreted according the rules set by enclosing data channel data type and data format. In certain circumtances channel data is fetched from some external source, and all <element/> and <e/> tags, if any, are ignored. Please see <data/> tag documentation for more information. <e>text without preceding and trailing whitespace</e> <e> text with preceding and trailing whitespace </e> <element>text with significant newlines</element> <column dataType="text"> <element>1/2/2000</element> </column> <column dataType="date" dataFormat="us"> <element>1/2/2000</element> </column> <column dataType="date" dataFormat="d/M/y"> <element>1/2/2000</element> </column> This tag joins two or more data channels into one composite channel. The new composite channel contains structured composite elements, made by corresponding member channel elements: for example, the first elements of all group member channels will together form the first element of the composite channel. The member elements retain their original values and characteristics, but the elements are now just bundled together, and treated as a single structured value. Likewise, the resulting group behaves like any other data channel. Structured elements are used in particular with scatter charts that plot X,Y coordinate value pairs as points in a two-dimensional coordinate system. Indeed, such charts expect that their value channels contain composite elements made of two simple, arithmetically computable values like scalar, time, or date values. Please see DataType for more information. It is possible to give series attributes for nested <column/> tags with <series /> tag. However, such attributes are usually ignored because there is no use for such attributes. For example, giving a paint for the X-coordinate of a coordinate value pair in a scatter chart does not affect anything, because the paint of the pair is used. For a table chart, however, giving a paint for the X-coordinate of a coordinate value pair has a noticeable effect. <chart> <data> <group type="value" id="participants"> <column name="height" values="150 165 176 180"/> <column name="weight" values="50 52 76 80"/> </group> </data> <attributes chartType="scatter"/> </chart> <group id="networthestimates" type="value"> <column id="x-x"> <e>1/1/2002</e> <e>3/1/2002</e> <e>6/1/2002</e> <e>9/1/2002</e> </column> <column id="y" values="1,000.000 1,100.000 800.000 1,500.000"/> </group> Column group data group. Channel group identity. <series/> tag id attributes may later refer to this identity value, in order to add or overwrite channel group attribute values. Name for this value group. The role this data channel plays in a chart. candlestick ohlc scatter Only these charts expect structured data at the moment. The charts expect only structured value channels. This tag defines chart image attributes that define on what kind of "canvas" the chart will be painted at. In particular, a typical chart image is rendered on a raster image, made of a finite number of pixels. The number of these pixels limits the amount of details that can be painted on the chart canvas. A raster canvas size should therefore usually exceed certain minimum size, since any attempt to draw too fine details on a too coarse a raster image will loose much of the original information, and result only an unreadable mess of pixels. It is difficult to give any exact formula for required minimum raster image size, but one coarse rule would be that a raster width and height in pixels should be at least ten times the number of data points that is to be drawn into it. In typical simple cases where there are maybe 10-20 data points this gives raster sizes about 100-200 pixels wide and high. This falls well into the range of typical image sizes displayable on typical desktop display devices. However, it is easy to see that if there is ten times more data, or the display device width and height is ten times smaller, the ratio between visualization details and canvas resolution falls rapidly. To reduce the negative effects of coarse raster canvases, chart image generators apply smart space conservation strategies on chart graphics component layout and rendering when the size of a raster chart image is decreased below chart raster "natural" size. This ensures the best possible text and symbol readability even in the most tighly packed chart images, intended to be displayed for example in small mobile devices. If there are no strict outside constrains on chart raster image size, chart image generators may also be given the freedom to select and use a raster image size of their own choosing by simply leaving the canvas width and height undetermined. The resulting natural chart raster image size will depend in very complex ways on the selected chart type, attributes, and data. It is also possible to set only either raster width and height, in which case the other dimension size will be determined automatically. It is also possible to use SVG vector graphics canvas instead of a raster image canvas. This largely avoids the resolution problem discussed above, or rather delegates it on the image display phase where a SVG capable display device must solve the problem of displaying a given SVG image on a given resolution display device. If the chart output format is chosen to be a variant of text, most of the attributes that are used with an image output format are ignored. <image width="200" height="100"/> <image contentType="image/svg+xml"/> Preferred rendering antialiasing policy. Chart output format. Chart image vertical size. Image content specific parameters. Image pixels-per-millimeter resolution, if any. Defines chart image horizontal size. Initialization parameters for SOM. Controls the size, topology, used neighborhood function, and the intialization of a Self-Organizing Map. If init tag is given, only initialization will be performed, unless there are other SOM controlling tags. <init width="12" height="8" seed="342074" /> SOM initialization method. If "linear" initializer is used, then the ordering phase can be left out. When using "rand" intializer, then the map training is usually made in two phases - i.e. two train-tags are needed. Vertical size of the Self-Organized Map in cells. Used neighborhood function. Affects to how the neighborhood is calculated (e.g. during training). Seed for random number generator. Map initialization uses random numbers, so this affects to it. If all paramters are the same (including the seed) and the same data set is used, the resulted SOM will be the same. Used map topology. Affects to how the cells are laid onto the map and how the distances between cells are calcluated. Horizontal size of the Self-Organized Map in cells. Labels SOM. If the labeling is asked for a ready-made SOM (given in the source-attribute of som-element), then the SOM is just labeled using the given data source. Otherwise the SOM is initialized and trained before labeling. If there are no given initialization nor training parameters then those tasks are performed using default parameters. <label /> Clears old labels from the SOM before labeling. This is not necessary when creating a new SOM due to the fact that it hasn't got labels yet. Typical case when labels are cleared is when the data contains several columns suitable for labeling and user asks relabeling. A typical case when labels are not cleared is when mapping new data rows to an existing SOM. This tag adds a legend to a chart image. A legend explains the symbols and color codes used in a chart, and therefore binds more meaning to the actual data visualizations. The <legend/> tag attributes control legend placement relative to the actual chart, and some major appearance aspects like font and legend area background paint. All other layout and appearance aspects and legend content are derived automatically from the main chart. Please note that legends may also be generated separately by selecting legend as the main chart type. This procedure produces a stand-alone legend image, which is useful when chart and and legends images need to be laid out carefully amongst some other content. However, if no custom legend layout control is needed, the <legend/> tag is the recommended method of legend construction. table Table chart does not draw a legend. <legend legendAlignment="down"/> <legend paint="lightBlue" legendAlignment="left" marginLeft="10"/> Background borderline color. Background color of the legend box. Legend background area borderline width and style. legend Chart and legend background areas are two separate things, and their appearance can be controlled separately. In particular, if they are both set, and a legend chart is drawn alone, the legend will be surrounded with two border lines, the outer one controlled by chart area background attributes, and the inner one controlled by legend background attribute. Legend default color. If set, it will be used as the default color for all legend specific color settings for this legend. In particular, the following color settings will use this attribute as their default value. backColor labelColor Each listed attribute may later be set individually, overriding this generic setting. Default legend font. If set, it will be used as the default font for all legend specific font settings within this legend. In particular, the following font settings will gain a new default value. labelFont Each listed attribute may later be set individually, overriding this generic setting. Relative gap between legend edge and symbols. In particular, making the gap larger will make legend symbols relatively smaller, and vice versa. Defines legend vertical size when the legend is embedded into chart image. The legend height may not exceed the chart image height. Defines if legend should be hidden or not. If left undefined, the legend will be visible if a legend tag is defined, and hidden otherwise. In particular, even an empty legend tag will generate a visible legend. Legend label color. This color affects to the color of the text of the labels. The symbols before the texts take their color and paint values from column and plot tags. Legend label font. Distance between legend entries. legend The default value for horizontal and vertical label offsets may differ from each other in scale legends. Legend placement. Legend type. Default margins around chart. If set, it will be used as the default margin for all chart specific margin settings for this chart. In particular, the following margin settings will use this attribute as their default value. marginBottom marginLeft marginRight marginTop Each listed attribute may later be set individually, overriding this generic setting. Bottom margin. Left margin. Right margin. Top margin. Orientation of the legend. legend Scale legends do not support center orientation. Default paint. If set, it will be used as the default paint for all paint specific settings for this legend. In particular, the following paint settings will use this attribute as their default value. backPaint Each listed attribute may later be set individually, overriding this generic setting. Default legend line width and style. If set, it will be used as the default for all line width and style settings for this legend. In particular, the following line width and style settings will use this attribute as their default value. backStroke Each listed attribute may later be set individually, overriding this generic setting. Defines legend horizontal size when the legend is embedded into chart image. The legend width may not exceed the chart image width. This tag defines lighting aspects applied on true 3D charts. Charts that do not use 3D modeling will ignore this tag. Chart lighting is composed of an ambient light component, and any number of directional light components. The resulting lighting is the sum of all these light sources. <lighting ambientColor="white"/> <lighting ambientColor="white"> <directional lightColor="yellow" direction="0 0 1" > </lighting> Ambient light is that light that seems to come from all directions. Ambient reflections do not depend on the orientation or position of the Chart. The ambientColor attribute specifies the spectral color property of the ambient light emission. This tag defines an axis value marker that highlights a certain point along an axis. Any number of markers may be defined, and each marker will hightlight exactly one point. The exact marker visualization depends on the chart type in question, but in each case the marker is associated with a label text, a symbol, and a line that divides the axis range into values smaller and greater than given marker position value. area3d bar3d column3d line3d pie3d Markers are not supported by 3D charts. hex legend pie rect These charts do not draw any coordinate axes. Therefore, these charts do not support markers. table Table chart does not draw coordinate axes in such a way that markers could be utilized. <chart> <data> <column type="value" values="100 150 200"/> </data> <attributes chartType="column"> <axes> <axis dim="1"> <marker position="200" linecolor="red" labelText="MAX"/> </axis> </axes> </attributes> </chart> <chart> <data> <column type="value" values="100 150 200"/> </data> <attributes chartType="column"> <axes> <axis dim="1"> <marker position="100" labelText="MIN"/> <marker position="200" labelText="MAX" linePaint="green-20%"/> </axis> </axes> </attributes> </chart> <chart> <data> <column type="value" values="100 150 200"/> </data> <attributes chartType="column"> <axes> <axis dim="1"> <marker position="100" labelText="MIN" linePaint="red-20%"/> <marker position="200" labelText="MAX" linePaint="green-20%"/> <marker position="after" linePaint="blue-20%"/> </axis> </axes> </attributes> </chart> Marker default alignment. If set, it will be used as the default alignment for all marker specific alignment settings for this marker. In particular, the following alignment settings will use this attribute as their default value. labelAlignment Each listed attribute may later be set individually, overriding this generic setting. Marker default color. If set, it will be used as the default color for all marker specific color settings for this marker. In particular, the following color settings will use this attribute as their default value. labelColor lineColor pointColor Each listed attribute may later be set individually, overriding this generic setting. Marker default font. If set, it will be used as the default font for all marker specific font settings within this marker. In particular, the following font settings will gain a new default value. labelFont Each listed attribute may later be set individually, overriding this generic setting. Marker label alignment. Marker label color. Marker label font. Marker label background fill color. Marker label orientation. Please note that this is a marker specific attribute that does not inherit it's value from anywhere, and is therefore unaffected in particular by any axis value label rotation attributes. Marker label text. The label of a marker will reside next to the labels of the axis that this marker intersects. Marker line color. This line consists of a line perpendicular to the marker's axis, and crossing the axis at the point given by the value of a position attribute. Paint for the area designated by the marker. This paint will be applied to the area before the value of the position of this marker. Area until the position of the previous marker, if any, in the axis will be affected. Marker line width and style. This setting affects the line that crosses the axis at the value given by the position attribute of this marker. Marker default paint. If set, it will be used as the default paint for all marker specific paint settings for this marker. In particular, the following paint settings will use this attribute as their default value. labelPaint linePaint pointPaint Each listed attribute may later be set individually, overriding this generic setting. If this attribute is not set, the default values for the attributes listed above are taken from different axis attributes. See their documentation for defaulting details. Symbol edge color. The edges of the symbol of the marker are painted with this color. Symbol interior color. The interior of the symbol of the marker is painted with this color. Symbol shape. The symbol of the marker has this shape. Symbol edge line width and style. The edges of the symbol of the marker are rendered with this stroke. Marker position. This marker line will intersect this axis at this position. bar candlestick column combo line ohcl scatter When the value of the position is before or min, the marker is not drawn at all. The position of after works as the position of max. The marker line is not drawn at the maximum data value of the axis, but the painting of the area before the marker is done. Sets default shape for the pointShape attribute. Default line width and style for this marker. If set, it will be used as the default for all marker specific line width and style settings for this marker. In particular, the following marker line width and style settings will use this attribute as their default value. lineStroke pointStroke Each listed attribute may later be set individually, overriding this generic setting. If this attribute is not set, the default values for the attributes listed above are taken from different axis attributes. See their documentation for defaulting details. Memory buffer data source can be used to cache incoming data stream to the memory. This can be useful, for example, when training a SOM map. This element is used to identify the column for which the average is calculated and to define the properties of the output column. Basically, one should select one column from the input data by column attribute. If the given id is the same as of one of the input data series ids, then the matched input data series is replaced by the moving average in the output data. Otherwise, all input data series are present in the output data and a new column for moving average is added to the output data. ID of the input column to be selected as the source. ID for the output column. Name for the output column. If the name is not specified, the output column will be named as: mov.avg. for + 'input column name', if the name for the input column is specified in the incoming data mov.avg. for + 'input column id', otherwise Type for the output column. With moving average element one can calculate simple and exponential moving averages from incoming data. Simple moving average (SMA) is calculated by taking a group that has a length of period values from incoming data, summing the values together and dividing the sum by the number of values. The next SMA value is calculated by skipping the first incoming data value and taking the next group of values from which the SMA is calculated. Up to the first period-1 output values are undefined and set to null. Exponential moving average (EMA) adjusts the previous exponential moving average value by a certain fraction of the current value. For example, EMA for given time t from input Data can be calculated as follows: EMA[t] = ( (Data[t] - EMA[t-1] ) x Multiplier) + EMA[t-1] where Multiplier is defined as: Multiplier = 2 / (1 + period) Thus the longer the period is the slower EMA is to adjust. The first period-1 EMAs are not defined and are set to null. EMA[period] is calculated using SMA[period]. Missing null values are treated as follows: In SMA case, those values are not added to the sum and also the divisor is reduced by one. If all the values in the last group are null, then SMA is given a value of null. In EMA case, null values are just ignored and EMA stays the same as it was for the previous calculation. Averaging calculation is done by selecting one incoming column, which will produce one extra outgoing column to the output data. When using moving average element one should define at least the period for calculating average, and incoming data source. As a default simple moving average will be calculated. The first input data column of value type is selected unless the column for the average is specified with movAvgColumn. Output data will usually contain as many columns as the incoming data, plus one containing the output of the operation. <movingAverage period="4"/> <sql source="..." query="..."/> <movingAverage/> <movingAverage avgType="exponential" period="3"/> <movAvgColumn column="price" id="avgprice" name="EMA(price)" /> <csv url="..."> <movingAverage/> Length of an average period. For simple moving average this determines number of data values used for determining average value. For exponential moving average period affects how quickly average reacts to trend changes. The longer the period, the slower the exponential average is to adjust. Type of moving average. This datasource can be used to normalize numeric input data. Normalization is done columnwise, by removin average and dividing by standard deviation. Purpose of this operation is to make all columns of equal weight, when euclidiean distance between datavectors is calculated. For example, when training SOM maps, it is often advisable to normalize input data. As a default, all the input data columns of numeric format are normalized. Other data, such as labels, are passed through as is. One can select only some of the input data columns. This can be done by introducing each imported column by normalizeColumn elements. Each of the imported columns can be given a scalar weigth. After normalization is done, each element belonging to this column are multiplied by this factor. If the weight is negative, then normalization is omitted and the column is passed through as is. Normalization can be reveserd. Meta information is attached to all normalized data. <normalize> <csv> ... </csv> </normalize> <normalize> <csv> ... </csv> <normalizeColumn column="colA" weight="2"> <normalizeColumn column="colB" > <normalizeColumn column="label" weight="-1"> </normalize> Input SOM map. If this input SOM map contains normalization information, it is used instead of normalization information derived from input data. If any normalizeColumns have been defined, then only identified columns are imported. If columns are not given, all input data columns are subject to normalization operation. ID of the input column to be selected from the result set. This column is weighted by multiplying by this weight after normalization. The default weight value is 1. If weight is given a negative value, then this column is passed through as is, without normalization. Negative weights can be used to include labels, for example. Each paint point defines a point in a paint scale. The value of the point is defined by the position and positionType attributes. When a data value is rendered, a possible value attached to the data value with a paint channel is compared to the values of paint points. The paint point that has the smallest value that is greater than or equal to the value attached to a data value is selected. Therefore, there is a certain range of values attached to data values that correspond to the same paint point. The maximum value of this range, which happens to be the value of the point itself, is considered to be the upper end of the point. The minimum value of this range, which is a value that is just a little bit greater than the value of the previous point, is considered to be the lower end of the point. The previous point is the point with a value that is the greatest of those points that have a value that is smaller than the value of this point. Depending from the chart, the paint(s) of the selected paint point may be used in the rendering of the data value. Determines whether interpolation is used for this point in determining a paint for rendering a data value. Legend entry text format. Determines the paint of the lower end of this point. This paint is used only if interpolationMode attribute has been defined for this point. Determines the paint of the upper end of this point. If the minPaint and interpolationMode attributes are not defined, this paint is used for the whole range of values that correspond to this point. all If the minPaint and interpolationMode attributes are defined, the type of this paint is ColorValue, not PaintValue. Determines the position of this point in a paint scale. Interpretation type for position. Paint scale defines how the values of paint channels should be used for rendering the chart. Each paint scale is composed of a number of paint points. The paint points that are collected to a paint scale define a sequence of paints that are used for rendering the chart. The sequence can be continuous and cover all values in paint channels or the sequence can have gaps for which no visible paint is defined. Provides default interpolation mode for the points of this scale. Legend entry text format. Assume that one has collected transaction data similar to: ..time..|.tool.|.price --------+------+------- 01.01.03|hammer| 1 01.02.03|knife | 4 01.05.03|hammer| 2 01.09.03|wedge | 5 01.10.03|knife | 2 .... and one would like to see graph of weekly sales generated by different tools. Required data manipulation can be performed by pivot operation. First one should define input data source from which data is coming. Pivot can handle many different data sources. One should configure the pivot so that <pivotCategories> is linked with time (with a precision of a week), <pivotSeries> with tool and <pivotValues> with price. A possible pivot configuration might look like: <pivot> <pivotCategories column="time" step="week"/> <pivotSeries column="tool" /> <pivotValues column="price" function="sum"/> <sql source="jdbc:..." query="select * from transactiontable"/> </pivot> Pivot operation will aggregate all pivot series within one pivot categories (all similar tools sold within one week) and determine value for this class. The value determination depends on the pivot value(s) and function selected (such as sum or count). As a result one will get datastream similar to: ..week..|hammer| knife|wedge --------+------+------+------ 01.01.03|..18..|..8...|.14 01.08.03|..11..|..3...|.24 01.15.03|...5..|.13...|.12 01.22.03|..21..|..4...|..6 .... Data in the format above can be feeded, for example, to a column chart, to get graph of weekly sales generated by different tools. The number of resulting data columns from pivot operation is not necessarily known before the operation. Even if the number of data columns were known, the column given for the pivot operation in the pivotSeries tag is not usually enough to be the column id of the resulting data columns. Due to these reasons, the resulting data columns, which are of value type, are identified with ids of column for pivotSeries + running numbering starting from 0. For example, if the configuration for pivot operation is: ... <pivotSeries column="tool"/> ... the resulting column ids after pivot operation will be: tool0 tool1 tool2 ... The resulting column ids can be used for further purposes. For example, the column with which sort data source will sort given data can be identified with a column id that the pivot data source has generated. It is possible to omit <pivotSeries>, <pivotCategories> and <pivotValues> configuration elements. Omitting: <pivotSeries>: Only one pivot series is formed. The id of the resulting column will be series0. <pivotCategories>: The first nonassigned label column will be selected as the category column. <pivotValues>: The first nonassigned value column is selected. PivotCategories define input data column to be associated with one of the axis. Pivot operation determines values for category label and series name pairs. See the documentation of pivot element for an example. A typical example is a column chart displaying value of products sold in different dates. Here products are associated with series names and dates with category labels. Column chart would display category labels on x-axis and value of different products in y-axis. Each pair of a series name and a category label would have a column in the chart unless the value for the pair would be zero. Column defines which input data source column is associated with pivot categories. The value of the attribute should match with the id of an input data column. Input data values format. Determines if the sorting order of category labels is descending. When ordering is done, the position of null values is after non null values no matter which ordering is chosen. Determines whether null values in the pivot category column in the incoming data are accepted. If this attribute is given a true value, then these data tuples are included. If null data values are accepted, a separate null category label is created for null data values in pivot category column. This category with a null label is served as the last category in the resulting data stream. Maximum value for category labels. Only category labels that are smaller than or equal to this maximum value are accepted. Thus if the column of category label in incoming data tuple contains a data value greater than the maximum value, the incoming data tuple is ignored. Minimum value for category labels. Only category labels that are greater than or equal to this minimum value are accepted. Thus if the column of category label in incoming data tuple contains a data value smaller than the minimum value, the incoming data tuple is ignored. Defines aggregating of categories. All the categories belonging within this step are joined together. For example, assume that the data type of categories is date. One could then define step to be a week. All dates belonging to the same week are joined together. Aggregated categories will be named by the starting date of a week. PivotSeries define which input data column is associated with pivot series. See pivot tag description. Defines which input data source column is associated with pivot series. Column value should match the id of an input column. Input data values format. Determines if the sorting order of series names is descending. When ordering is done, the position of null values is after non null values no matter which ordering is chosen. Should null series names data be accepted. It is possible that incoming data has null (i.e. missing) value in the column of pivot series. If this attribute is given a true value, then these kind of data tuples are included. If null data values are accepted, a separate null series name is created for null data values in series name column. Maximum value for series names. Only series names that are smaller or equal to this maximum value are accepted. Thus if the column of series name in incoming data tuple contains a data value greater than the maximum value, the incoming data tuple is ignored. Minimum value for series names. Only series names that are greater or equal to this minimum value are accepted. Thus if the column of series name in incoming data tuple contains a data value smaller than the minimum value, the incoming data tuple is ignored. Defines aggregating of series names. All the series names belonging within this step are joined together. PivotValues defines which input data column is asssociated with pivot values. See pivot tag description for a description. Defines which input data source column is associated with pivot values. The value of the attribute should match the id of a column in input data. Defines the function to be used to join series values. In pivoting, each category - series pair will be assigned a value. All pivot values belonging to the same category - series name class are joined using this function. This tag defines plot area rendering attributes. The plot area is where anything related to a chart is drawn. The plot area resides over and is a subset of chart background area, while chart axis area, if there is one, resides over and is a subset of the plot area. In general, anything drawn on a chart image uses plot area attributes, unless a more specific attribute definition for the item being drawn is in effect. Plot area attributes are defined within <attributes/> tag, and again in <axes/> tags. Any plot attribute not given within <axes/> tag inherit it's value from the general plot attributes. <plot paint="red-vertical" color="black" stroke="2"/> Defines default generic alignment for plot tag. If set, it will be used as the default alignment for all plot specific alignment settings. In particular, the following alignment settings will gain a new default value. lineAlignment valueAlignment Each listed attribute may later be set individually, overriding this generic setting. area3d bar3d column3d line3d These charts do not support alignment attribute. Backgrounds of data cells are painted with this color. table Only table chart supports back paint for series. Defines default generic color for plot. If set, it will be used as the default color for all plot specific color settings. In particular, the following color settings will gain a new default value. lineColor pointColor valueColor Each listed attribute may later be set individually, overriding this generic setting. Output format of the data values. Controls if symbols are enclosed within plotting area. Defines default generic font for plot. If set, it will be used as the default font for all plot specific font settings. In particular, the following font settings will gain a new default value. valueFont Each listed attribute may later be set individually, overriding this generic setting. Border line alignment. map Although lineAlignment takes it's default from an alignment attribute, most of the values that the alignment attribute may have are not supported by lineAlignment. Such values are ignored and the default lineAlignment value is used. Line color for data elements. Borders of data elements will be drawn with this color where applicable. Line fill color for data elements. Interior of data elements will be painted with this color where applicable. Defines smoothness of curve joining data points. Line width and style for data elements. Borders of data elements will be drawn with this stroke where applicable. Upper color of draw color range for magnitude visualization. Upper color of fill paint range for magnitude visualization. Upper size of size range for magnitude visualization. Lower color of draw color range for magnitude visualization. Lower color of fill paint range for magnitude visualization. Lower size of size range for magnitude visualization. Plot default paint. If set, it will be used as the default paint for the following plot specific paint settings. In particular, the valuePaint setting will not use this attribute as it's default value. backPaint linePaint pointPaint Each listed attribute may later be set individually, overriding this generic setting. Symbol edge color. This attribute provides the default edge color for symbols of data points. Symbol interior color. This attribute provides the default interior color for symbols of data points. Symbol shape. This attribute provides the default shape for symbols of data points. Symbol edge line width and style. This attribute provides the default stroke for symbols of data points. Defines default generic shape for plot. If set, it will be used as the default shape for all plot specific shape settings. In particular, the following shape settings will gain a new default value. pointShape Each listed attribute may later be set individually, overriding this generic setting. bar3d column3d These charts recognise shapes "col1" to "col7". Each shape defines different roundedness for the column. As a default, "col3" shape is used. Default plot line width and style. If set, it will be used as the default for all plot specific line width and style settings. In particular, the following line width and style settings will use this attribute as their default value. lineStroke pointStroke Each listed attribute may later be set individually, overriding this generic setting. pie3d Only width setting is supported. table Table chart does not render any plot specific lines and thus ignores this setting. Value label alignment. Sets the default alignment for value labels. Value label text color. Sets the default text color for value labels. Value label text font size and style. Sets the default font for value labels. Value label text format. Sets the default format for value label generation. Value label background fill color. Sets the default background fill color for value labels. This tag adds or overrides data channel specific attributes defined earlier in a <column/> or a <group/> tag. The override applies only for the chart that uses the attribute set this <series/> tag appears in. In particular, other charts that use the same data but a different attribute set may independently apply their own overrides that apply only for them. A <series/> tag uses an idRef attribute to associate itself with a column or a group tag with an equal column id or group id attribute value. Any attribute value set by this <series/> tag then overrides the corresponding original column or group attribute value, while the remaining attributes retain their original values. Possible <series/> tags inside this tag are used for structural data. For example, data channel specific attributes for a <column/> tag that is given inside a <group/> tag can be given with a <series/> tag that is inside the <series/> tag that specifies attributes for the <group/> tag. <chart> <data> <column type="value" id="a" values="1 3 5" /> <column type="value" id="b" values="2 4 6" /> </data> <attributes> <plot> <series idRef="a" paint="red"/> <series idRef="b" paint="green"/> </plot> </attributes> </chart> <chart> <data> <group type="value" id="series1" name="Series 1"> <column id="dates" values="2001-01-01 2001-01-04 2001-01-08" datatype="DATE" dataFormat="yyyy-MM-dd"/> <column id="sales" values="3000 3500 2200"/> </group> </data> <attributes chartType="scatter"> <plot> <series idRef="series1" color="blue" paint="red"> <series idRef="dates" name="Dates"/> <series idRef="sales" name="Sales"/> </series> </plot> </attributes> </chart> Defines default generic alignment for series tag. If set, it will be used as the default alignment for all series specific alignment settings. In particular, the following alignment settings will gain a new default value. lineAlignment valueAlignment Each listed attribute may later be set individually, overriding this generic setting. area3d bar3d column3d line3d These charts do not support alignment attribute. Backgrounds of data cells are painted with this color. Defines rendering default generic color. If set, it will be used as the default color for all column (or group) specific color settings within this column. In particular, the following color settings will gain a new default value. lineColor pointColor valueColor Each listed attribute may later be set individually, overriding this generic setting. Value stacking. Controls if channel data element values should be summed with corresponding data elements in the previous data channel. Output format of the data values. all This attribute does not override or act as dataFormat in various columns. The dataFormat in a column is for input data whereas dataFormat in a series tag is for output data. Default rendering font. If set, it will be used as the default font for series specific font settings for this series tag. In particular, the following font settings will use this attribute as their default value. valueFont Each listed attribute may later be set individually, overriding this generic setting. Data group for the corresponding column or group. The dataGroup attribute of <axes/> tag may later be used to refer to this group identity to select input only from the channels belonging to the named data group. See group attribute for an example. Visibility of the corresponding column or group. Channel to refine. This identity value refers to a corresponding source column or group data channel this series tag is to effect. If no matching channel is found, this tag has no effect. Border line alignment for the corresponding column or group. map Although lineAlignment takes it's default from an alignment attribute, most of the values that the alignment attribute may have are not supported by lineAlignment. Such values are ignored and the default lineAlignment value is used. Line color for the corresponding column or group. Line fill color for the corresponding column or group. Defines smoothness of curve joining data points. Line width and style for the corresponding column or group. Name for the corresponding column or group. Default rendering paint. If set, it will be used as the default paint for the following series specific paint settings for this series tag. In particular, the valuePaint setting will not use this attribute as it's default value. backPaint linePaint pointPaint Each listed attribute may later be set individually, overriding this generic setting. Symbol edge color. The given color is used as the color for the edges of the symbols of the data points of the given column or group tag into which this tag refers. Symbol interior color. The given color is used as the color for the interior of the symbols of the data points of the given column or group tag into which this tag refers. Symbol shape. The given shape is used as the shape for the symbols of the data points of the given column or group tag into which this tag refers. Symbol edge line width and style. The given stroke is used as the stroke for the symbols of the data points of the given column or group tag into which this tag refers. Default series shape. If set, it will be used as the default shape for series specific shape settings for this series tag. In particular, the following shape settings will use this attribute as their default value. pointShape Each listed attribute may later be set individually, overriding this generic setting. Default series line width and style. If set, it will be used as the default for all series specific line width and style settings for this series tag. In particular, the following line width and style settings will use this attribute as their default value. lineStroke pointStroke Each listed attribute may later be set individually, overriding this generic setting. table Table chart does not render any series specific lines and thus ignores this setting. Value label alignment for the data points of the corresponding column or group. Value label text color for the data points of the corresponding column or group. Value label text font size and style for the data points of the corresponding column or group. Value label text format for the data points of the corresponding column or group. Value label backgound fill color for the data points of the corresponding column or group. Each shape point defines a point in a shape scale. The value of the point is defined by the position and positionType attributes. When a data value is rendered, a possible value attached to the data value with a shape channel is compared to the values of shape points. The shape point that has the smallest value that is greater than or equal to the value attached to a data value is selected. Therefore, there is a certain range of values attached to data values that correspond to the same shape point. Depending from the chart, the shape of the selected shape point may be used in the rendering of the data value. Legend entry text format. Determines the position of this point in a shape scale. Interpretation type for position. Determines the shape of this point. This shape is used for the whole range of values that correspond to this point. Shape scale defines how the values of shape channels should be used for rendering the chart. Each shape scale is composed of a number of shape points. The shape points that are collected to a shape scale define a sequence of shapes that are used for rendering the chart. The sequence can be continuous and cover all values in shape channels or the sequence can have gaps for which no visible shape is defined. Legend entry text format. Creates or modifies a Self-Organizing Map. SOM initialization, training, and labeling are controlled by the nested tags. <som> <datasource> ... </datasource> <init width="12" height="8"/> <train rounds="10000"/> <label /> </som> Refers to an existing SOM. Possible ways to refer include the attribute name of a ChartData instance containing a SOM, or a URL to an XML dump of a SOM. SOMCellFilter data source can be used to select group of cells from the trained SOM map. This cell selection can then be displayed using a column chart, for example. This way one can compare different areas of SOM map easily. Cells are selected from, usually SOM, input data source by introducing <cell> elements. Trained SOM map is basically a (mxn) array of k-dimensional vectors (or cells). Often one of the dimensions is allocated for labeling. Cell (0,0) is located in the bottom left corner of the map. (1,0) is one cell right and (0,1) is one cell up. <somcellfilter> <som> ... </som> <cell x="1" y="2"/> <cell x="2" y="2"/> </somcellfilter> Sort data source sorts the given data into a desired order. The sorting can be done in two ways. Sorting with columns sorts the order of the data columns. Sorting with rows sorts the values in the data columns. In sorting with rows, the values of each column is sorted according to the selected column. If both ways of sorting are done, the sorting with columns is done first. In the example below, the original data is sorted with both ways. First, the order of columns is sorted in ascending order according to the meta data field named as name. Secondly, the values of the columns are sorted in ascending order according to the values in the column with an id of shakes. <column id="juices" name="applejuice" type="value" values="5 15 25"/> <column id="shakes" name="grapeshake" type="value" values="30 10 40"/> <column id="labels" type="label" values="juices shakes berries"/> <column id="berries" name="blueberry" type="value" values="15 40 10"/> <sort> <sortRows byColumn="shakes"/> <sortColumns/> ... </sort> <column id="juices" name="applejuice" type="value" values="15 5 25"/> <column id="berries" name="blueberry" type="value" values="40 15 10"/> <column id="shakes" name="grapeshake" type="value" values="10 30 40"/> <column id="labels" type="label" values="shakes juices berries"/> The existence of the sortColumns element causes the order of data columns to be ordered. The ordering for columns is done according to the meta data field called as name Depending from the chart, the order of data columns might not have any effect on the produced chart. If the data has many value columns, some charts might show the values of the columns in the order given by columns. For example, if the data has values for columns called as apples and as oranges, the chart might show a bar for apples before a bar for oranges. Determines if the sorting order of columns should be descending. The existence of the sortRows element causes the data to be ordered. The ordering is done according to the values of the given column. Determines the column by which the data should be sorted. The value of the attribute should match an id of an input column. If this attribute is not given, the first column that has the type of label is used for sorting. Determines if the sorting order of values in the given column should be descending. Sql data source imports data from a database. One should define connection properties (location, driver class, possible username and password) for the data source using the source attribute. Query to be made is to be passed using query attribute. Alternatively one can pass result set directly to the data source, for example, one prepared in JSP page. The result set should be added to the PAGE_CONTEXT, with a key matching source attribute value. As a default all the columns of the result set are imported. One can pick only some columns from the result set and refine mapping using sqlColumn tags. The result set columns can be identified either by column name or by index (starting from 1). <sql source="jdbc:mysql://db.davisor.com/test,com.mysql.jdbc.Driver, testuser,simple" query="SELECT * from salesdata"/> <sql source="jdbc:mysql://db.davisor.com/test,com.mysql.jdbc.Driver, testuser,simple" query="SELECT * from salesdata"> <sqlColumn column="value" type="value"/> <sqlColumn column="salesperson" type="label"/> </sql> <sql source="jdbc:mysql://db.davisor.com/test,com.mysql.jdbc.Driver, testuser,simple" query="SELECT * from salesdata"> <sqlColumn column="1" type="value"/> <sqlColumn column="3" type="label"/> </sql> SQL select clause to be made to the database in question. Note: if source attribute is used to identify a result set, then this attribute can be omitted. Source attribute identifies source from which data is available. This can either be a name of result set passed to the data source or a database connection definition. Database connections should be defined using format specified in Java Standard Tag Library (JSTL) 1.0 specification (Chapter 10.1.1:Data Source). Basically this string should be a relative JNDI path to a configured SQL driver or a DriverManager configuration string. If one of the url, driver, user or password strings contains comma ',' or backslash '\' characters, these can be escaped using backslash '\'. Thus escaped ',' is '\,' and escaped '\' is '\\'. Driver manager configuration string is of the format: url[,[driver][,[user][,[password]]]] source="jdbc:mysql://localhost:/,com.mysql.jdbc.Driver,username,password" source="jdbc/chart" source="myResultSet" If any sql columns have been defined, then only identified columns are imported. If columns are not given, all sql columns are imported. ID of the input column to be selected from the result set. Column can be either result set coulmn name or column index. If attribute is integer, then index interpretation will be used. Format of the data values. What kind of data values are fetched for this column from the result set. If data type is not defined explicitely, it is identified automatically. ID for the output column. Name for the output column. If name is not specifed, the sqlColumnLabel of the result set will be used as the column name. Type for the output column. This tag joins two or more sql data channels into one composite channel. The tag works exactly as <group/>, but the joined channels are sql data channels. See <group/> for more documentation about grouping data channels. <sql source="jdbc:mysql://db.davisor.com/test,com.mysql.jdbc.Driver, testuser,simple" query="SELECT * from salesdata"gt; <sqlGroup type="value" id="items"> <sqlColumn column="hammer"/> <sqlColumn column="nail"/> </sqlGroup> </sql> Column group data group. Channel group identity. <series/> tag id attributes may later refer to this identity value, in order to add or overwrite channel group attribute values. Name for this value group. The role this data channel plays in a chart. candlestick ohlc scatter Only these charts expect structured data at the moment. The charts expect only structured value channels. This tag is used for defining the description of an annotation. Graphics annotation is an advanced feature that allows text and hyperlinks to be associated to various parts of a chart image. Various image viewers, in particular standard modern HTML browsers, can then show graphics annotation descriptions as a function of mouse pointer position over a chart image. Depending on the output format of a chart, the value of this element is used for different attributes automatically. For example, with charts that are used in HTML pages, this element will define the value of an alt attribute in an image map. With charts in SVG format, this element will define the value of an xlink:title attribute of an a tag. The value of the description is defined by the body content of the tag. Possible macros in the value of the element are expanded before using the value. For more information about the use of this attribute, refer to the HTML specification or to the SVG specification. The example below will associate string "A" to the first data series defined for the chart. This will enable an image map generation that will associate an alternate text "A" to each and every value symbol in the first series. Whenever a mouse pointer then stops over one of the symbols, a modern HTML browser may now display for example a small pop-up window that reads "A". <plot> <series idRef="#0"> <annotation> <text>A</text> </annotation> </series> <plot> Training parameters for SOM. Controls the SOM training, which can be made in one or two parts. Before training the SOM is initialized using either the given initialization parameters or defaults. When using random initializer, the SOM should be trained two times. This can be achieved by giving two train tags. In that case the first (order is here important) train tag gives parameters for the ordering phase and the second train tag gives parameters for the converging phase. <train rounds="10000" /> Learning factor. Sets the initial value for the learning factor. The value decreases towards zero according to the selected alphaCalc. If training is made in two phases, the value of alpha is typically smaller in the second phase. Decreasing step function for learning factor. Training radius. Sets the initial value for training radius. At each training round the cells within the training radius from the best matching unit will be moved towards the sample vector. Radius decreases towards one during training in according to the selected radiusCalc. Decreasing step function for radius. Number of training rounds. XPath data source is used to import data from a XML document. The interesting parts of the XML document are selected using an XPath expression. The resulting set of nodes is mapped to data tuples. Nodes can be mapped to data tuples automatically, or the mapping can be specified with using xpathColumn tags. Salary data For example, assuming an XML document <employees> <employee> <name>Anne</name> <salary>1200</salary> </employee> <employee> <name>Bill</name> <salary>1150</salary> </employee> <employee> <name>Carol</name> <salary>1300</salary> </employee> <employee> <name>David</name> <salary>1400</salary> </employee> <employees> and the select string in XPath is specified as select="//employees/employee", the resulting node set contains the four <employee> nodes. Each of these nodes is mapped to a data column. A straightforward mapping is achieved by defining two xpathColumn tags: <xpathColumn column="name" type="label" />> <xpathColumn column="salary" type="value" />> This results in the following data stream: 1:('Anne',1200) 2:('Bill',1150) 3:('Carol',1300) 4:('David',1400) which can be visualized by a chart. Automatic column mapping If there are no xpath columns defined an automatic column detection is carried out. Automatic column detection searches for children nodes that appear in all nodes in xpath result set. If all the nodes contain children with the same name, the children in question is detected as a data column. If the first text child can be converted to a double, the type of the output column is set to value. Otherwise, the type of the output column is set to label. Assume that we have the following xml document: <data> <animal> <eyes>2</eyes> <legs>4</legs> <race>zebra</race> <stripes>12</stripes> </animal> <animal> <eyes>8</eyes> <legs>8</legs> <race>redback</race> </animal> <animal> <eyes>2</eyes> <legs>2</legs> <race>duck</race> <wings>2</wings> </animal> <data> with the select string of select="//data/animal". This results in three animal nodes. Three different columns would be identified: 'eyes', 'legs' and 'race'. The 'eyes' and 'legs' columns would be identified to be of type value, because their first text element can be converted to a number. The 'race' column would be assigned to be of type label, because standard number conversion fails to transform 'zebra' to a number. The resulting data stream would be similar to: 1: (2,4,'zebra') 2: (8,8,'redback') 3: (2,2,'duck') Defines the XPath string to be used to select elements from the document. Defines the location from where the XML document to be accessed can be found. XPathColumn is be used to map parts of XML nodes to data values. See the description of xpath tag for an example. Defines the name of the element, whose text child will be used as data for the output column. Format of the data values. What kind of data values are fetched from this column in the data source. If data type is not defined explicitly, the data type is determined automatically. Defines the second XPath operation. The second XPath operation will be performed to the resulting nodes from the first xpath selection. eval="substring(/*,1,6)" ID for the output column. Name for the output column. Type for the output column. This tag joins two or more xpath data channels into one composite channel. The tag works exactly as <group/>, but the joined channels are xpath data channels. See <group/> for more documentation about grouping data channels. <xpathGroup type="value" id="items"> <xpathColumn column="hammer"/> <xpathColumn column="nail"/> </xpathGroup> Column group data group. Channel group identity. <series/> tag id attributes may later refer to this identity value, in order to add or overwrite channel group attribute values. Name for this value group. The role this data channel plays in a chart. candlestick ohlc scatter Only these charts expect structured data at the moment. The charts expect only structured value channels.