Table of Contents
- Introduction
- Information Tags
- String Tags
- Variable Tags
- URL Tags
- If Tags
- Graphics Tags

  | · Introduction · gtext · diagram · gclock · pimage · imgs · config_tablist

- Database Tags
- Programming Tags
- Supports System
- SSI
- htaccess
- Image Maps
- Appendix

<diagram> ... </diagram> |

`<diagram>` is defined in the Business Graphics module.

The `<diagram>` container tag is used to draw pie, bar, or line charts as well as graphs. It is quite complex with six internal container tags.
Internal Tags

`<data>`
  The data the diagram is to visualize, in tabular form.

`<colors>`
  The colors for different pie slices, bars or lines.

`<legend>`
  A separate legend with description of the different pie slices, bars or lines.

`<xaxis>`
  Used for specifying the quantity and unit of the x-axis, as well as its scale, in a graph.

`<yaxis>`
  Used for specifying the quantity and unit of the x-axis, as well as its scale, in a graph or line chart.

`<xnames>`
  Separate tag that can be used to give names to put along the pie slices or under the bars. The names are usually part of the data.

Pie

    <diagram type=pie width=200 height=200
    name='Population'
    tonedbox='lightblue,lightblue,white,white'>
    <data separator=,>
    5305048,5137269,4399993,8865051
    </data>
    <legend separator=,>
    Denmark,Finland,Norway,Sweden</legend>
    </diagram>

##

Bar

    <diagram type=bar width=200 height=250
    name='Population' horgrid
    tonedbox='lightblue,lightblue,white,white'>
    <data xnamesvert xnames separator=,>
    Denmark,Finland,Norway,Sweden
    5305048,5137269,4399993,8865051</data>
    </diagram>

##

    <diagram type=bar width=200 height=250
    name='Age structure' horgrid
    tonedbox='lightblue,lightblue,white,white'>
    <data xnamesvert xnames form=column
      separator=,>
    Denmark,951175,3556339,797534
    Finland,966593,3424107,746569
    Norway,857952,2846030,696011
    Sweden,1654180,5660410,1550461</data>
    <legend separator=,>
    0-14,15-64,65-
    </legend>
    </diagram>

##

Sumbar

    <diagram type=sumbar width=200 height=250
    name='Land Use' horgrid
    tonedbox='lightblue,lightblue,white,white'>
    <data xnamesvert xnames form=column
      separator=,>
    Denmark,27300,4200,10500
    Finland,24400,231800,48800
    Norway,9240,83160,215600
    Sweden,32880,279480,102750</data>
    <legend separator=,>
    Arable,Forests,Other
    </legend>
    <yaxis quantity=area>
    <yaxis unit=km^2>
    </diagram>

##

Normalized Sumbar

    <diagram type=normsumbar width=200 height=250
    name='Land Use' horgrid
    tonedbox='lightblue,lightblue,white,white'>
    <data xnamesvert xnames form=column
      separator=,>
    Denmark,27300,4200,10500
    Finland,24400,231800,48800
    Norway,9240,83160,215600
    Sweden,32880,279480,102750
    </data>
    <legend separator=,>
    Arable,Forests,Other
    </legend>
    <yaxis quantity=%>
    </diagram>

##

Line Chart

    <diagram type=line width=200 height=250
    name='Exchange Rates' horgrid
    tonedbox='lightblue,lightblue,white,white'>
    <data form=row separator=,
     xnamesvert xnames>
    1992,1993,1994,1995,1996
    0.166,0.154,0.157,0.179,0.172
    0.223,0.175,0.191,0.229,0.218
    0.161,0.141,0.142,0.158,0.155
    0.172,0.128,0.130,0.149,0.140
    </data>
    <yaxis start=0.09 stop=0.25>
    <legend separator=,>
    Danish kroner (DKr),
    Markkaa (FMk),
    Norwegian kronor (NKr),
    Swedish kronor (SKr)
    </legend>
    <xaxis quantity=year>
    <yaxis quantity=US$>
    </diagram>

##

Graph

    <diagram type=graph width=200 height=300
    name='Simple Functions' horgrid
    tonedbox='lightblue,lightblue,white,white'>
    <colors separator=" ">#60b0ff darkred</colors>
    <data separator=,><pike>
      float c;

      for (c=-2.0; c < 2.0; c+=0.1)
        output( "%f,%f,", c, c * c );
      output( "%f,%f", 2.0, 2.0 * 2.0 );
      return flush();
    </pike>
    <pike>
      float c;

      for (c=-2.0; c < 2.0; c+=0.1)
        output( "%f,%f,", c, c * c * c );
      output( "%f", 2.0, 2.0 * 2.0 * 2.0 );
      return flush();
    </pike></data>
    <axis start=-2.1 stop=2.1>
    <axis start=-6.1 stop=6.1>
    <legend separator=,>
    x^2,x^3
    </legend>
    </diagram>

##

Attributes |
3d, background, bgcolor, center, eng, font, fontsize, height, horgrid, labelcolor, legendfontsize, name, namecolor, namefont, namesize, neng, notrans, rotate, textcolor, tonedbox, turn, type, vertgrid, voidsep, width, xgridspace, ygridspace, form, lineseparator, noparse, separator, xnames, xnamesvert, separator, separator, start, stop, quantity, unit, separator, orient,

Attributes

`3d`=number
  Draws a pie-chart on top of a cylinder, takes the height of the cylinder as argument.

`background`=path
  Use the image as background.

`bgcolor`=color
  Set the background color to use for anti-aliasing.

`center`=number
  Centers a pie chart around that slice.

`eng`
  Write numbers in engineering fashion, i.e like 1.2M.

`font`=font
  Use this font. Can be overridden in the `<legend>`, `<xaxis>`, `<yaxis>` and `<names>` tags.

`fontsize`=number
  Height of the text.

`height`=number
  Height of the diagram. Will not have effect below 100.

`horgrid`
  Draw a horizontal grid.

`labelcolor`=color
  Set the color for the labels of the axis.

`legendfontsize`=number
  Height of the legend text.

`name`=string
  Write a name at the top of the diagram.

`namecolor`=color
  Set the color of the name, by default `textcolor`.

`namefont`=font
  Set the font for the name.

`namesize`=number
  Sets the height of the name, by default `fontsize`.

`neng`
  As eng, but 0.1-1.0 is written as 0.xxx.

`notrans`
  Make bgcolor opaque.

`rotate`=degree
  Rotate a pie chart this much.

`textcolor`
  Set the color for all text.

`tonedbox`=color1,color2,color3,color4
  Create a background shading between the colors assigned to each of the four corners.

`turn`
  Turn the diagram 90 degrees.

`type`=sumbars normsum line bar pie graph
  The type of the diagram.

`vertgrid`
  Draw vertical grid lines.

`voidsep`=string
  Change the string that means no such value, by default VOID.

`width`=number
  Set the width of the diagram.

`xgridspace`=number
  Set the space between two vertical grid lines. The unit is the same as for the data.

`ygridspace`
  Set the space between two horizontal grid lines. The unit is the same as for the data.

Regular `<img>` arguments will be passed on to the generated `<img>` tag.

<data>

`form`
  column row How to interpret the tabular data, by default row.

`lineseparator`
  Set the separator between rows, by default newline. lineseparator.

`noparse`
  Do not parse the contents by the RXML parser, before data extraction begins.

`separator`
  Set the separator between elements, by default tab.

`xnames`
  Treat the first row or column as names for the data to come. The name will be written along the pie slice or under the bar.

`xnamesvert`
  Write the names vertically.

<colors>

`separator`
  Set the separator between colors, by default tab.

<legend>

`separator`
  Set the separator between legends, by default tab.

<xaxis>, <yaxis>

`start`
  Limit the start of the diagram at this value. If set to min the axis starts at the lowest value in the data.

`stop`
  Limit the end of the diagram at this value.

`quantity`
  Set the name of the quantity of this axis.

`unit`=string
  Set the name of the unit of this axis.

<xnames>

`separator`
  Set the separator between names, by default tab.

`orient`=vert horiz
  How to write names, vertically or horizontally.

Example

</dump_if not cookie=rxml-help>