Annotation References

In the following sections, you can see an exhaustive set of attributes and macros supported by annotations in FusionCharts Suite XT.

General configuration attributes

The root annotations object accepts a number of attributes for configuring generic aspects of annotations globally.

These attributes are defined using the code structure shown below:

{
  "annotations": {
    // Define the general configuration attributes here.
  }
}
Attribute Name Description
autoScale Specifies whether the annotation group will automatically scale, if chart dimensions change. Setting this attribute to 0 disables the automatic scaling of the group, setting it to 1 (default) enables it.
constrainedScale Specifies whether annotations will retain their aspect ratio (the height:width ratio) when scaled. Setting this attribute to 0 will disable constrained scaling, setting it to 1 (default) will enable it.
scaleText Specifies whether text annotations in an annotation group will automatically scale, if chart dimensions change. Setting this attribute to 0 (default) disables the automatic scaling of text annotations, setting it to 1 enables it.
scaleImages Specifies whether image annotations in an annotation group will automatically scale, if chart dimensions change. Setting this attribute to 0 (default) disables the automatic scaling of image annotations, setting it to 1 enables it.
xShift The value of this attribute is added to the x coordinate position value of the final annotation items on the x-axis. In other words, if an annotation is placed at 100 pixels left and the value of xShift is set to 50, then the effective value of the x coordinate for the annotation adds up to 150 pixels. When applying scaling, the value of this attribute is included within the scale factor.
yShift Like the xShift attribute, this attribute applies to the y-axis.
grpXShift Shifts all annotation groups along the x coordinate. The difference between xShift and this attribute is that, during scaling, xShift is included within the scale factor whereas grpXShift is excluded.
grpYShift Like the grpXShift attribute, this attribute applies to the y-axis.
origW Specifies the original width of the chart, in which the annotation renders as intended. It is used as the reference width while automatically scaling annotations, in the event that a chart is resized.
origH Specifies the original height of chart, in which the annotation renders as intended. It is used as the reference height while automatically scaling annotations, in the event that a chart is resized.

Configure attributes for annotation groups

You can uniformly configure all annotation items contained within an annotation group, by using a number of attributes, as detailed in the list below. Group attributes inherit default values from the ones defined as root-level annotation attributes.

These attributes are defined using the code structure shown below:

{
  "annotations": {
    "groups": [
      {
        //Define the group configuration attributes here.
      }
    ]
  }
}
Attribute Name Description
id Specifies a unique identification string for the annotation group.
x Specifies the x coordinate of the starting position of the group with respect to the leftmost position (taken as 0) of the chart. If it is also configured individually for the annotation item(s) within the group, then the value of the x attribute for the item is set relative to the value of the x attribute for the group.
y Specifies the y coordinate of the starting position of the group with respect to the topmost position (taken as 0) of the chart. If it is also configured individually for the annotation item(s) within the group, then the value of the y attribute for the item is set relative to the value of the y attribute for the group.
autoScale Specifies whether the annotation group will automatically scale, if chart dimensions change. Setting this attribute to 0 disables the automatic scaling of the group, setting it to 1 (default) enables it.
scaleText Specifies whether text annotations in an annotation group will automatically scale, if chart dimensions change. Setting this attribute to 0 (default) disables the automatic scaling of text annotations, setting it to 1 enables it.
scaleImages Specifies whether image annotations in an annotation group will automatically scale, if chart dimensions change. Setting this attribute to 0 (default) disables the automatic scaling of image annotations, setting it to 1 enables it.
constrainedScale Specifies whether annotations will retain their aspect ratio (the height:width ratio) when scaled. Setting this attribute to 0 will disable constrained scaling, setting it to 1 (default) will enable it.
showBelow Specifies whether the annotation group will overlap the data plots. Setting this attribute to 0 will enable the group to overlap, setting it to 1 (default) will disable it.
origW Specifies the original width of the chart, in which the annotation renders as intended. It is used as the reference width while automatically scaling annotations, in the event that a chart is resized.
origH Specifies the original height of chart, in which the annotation renders as intended. It is used as the reference height while automatically scaling annotations, in the event that a chart is resized.
xShift The value of this attribute is added to the x coordinate position value of the final annotation items on the x-axis. In other words, if an annotation is placed at 100 pixels left and the value of xShift is set to 50, then the effective value of the x coordinate for the annotation adds up to 150 pixels. When applying scaling, the value of this attribute is included within the scale factor.
yShift Like the xShift attribute, this attribute applies to the y-axis.
grpXShift Shifts all annotation groups along the x coordinate. The difference between xShift and this attribute is that, during scaling, xShift is included within the scale factor whereas grpXShift is excluded.
grpYShift Like the grpXShift attribute, this attribute applies to the y-axis.
alpha Specifies the transparency for the group. This attribute takes values between 0 (transparent) and 100 (opaque, default).
visible Specifies the visibility of the group. Setting this value to 0 hides the group, setting it to 1 (default) shows it.
showShadow Specifies whether a shadow effect will be shown for the annotation group. Setting this attribute to 1 shows the effect, setting it 0 (default) does not show the effect.
color Specifies the hex color code for the annotation group.
font Specifies the font family for the text annotation(s) in the annotation group.
fontSize Specifies the font size for the text annotation(s).
textAlign Specifies the horizontal alignment for the text annotation(s).
textVAlign Specifies the vertical alignment for the text annotation(s).
rotateText Specifies whether the text annotation(s) will be rotated. This attribute takes 0(default), 1, left, and right as values.
wrapText Specifies whether words that are too long to fit in a line should be wrapped to the next line. Setting this attribute to 0 disables wrapping of text, setting it to 1(default) enables it.
link Specifies the URL to which the user will be redirected, if the annotation group is clicked.
toolText Specifies the tooltip for the annotation group.

Configure attributes for annotation items

You can segregate attributes for annotation items into two types, common (which work for all annotation types) and ad-hoc (which only work for certain annotation types).

Common Attributes

Attribute Name Description
id Specifies a unique identification for the annotation. This id is used to identify and change other properties of the annotation.
type Specifies the type of annotation to be drawn.
color Specifies the hex color code for the annotation. For example, a value of #6baa01will draw an annotation in the green color. The default value is #ff0000.
alpha Specifies the transparency of the annotation. This attribute takes values between 0 (transparent) and 100 (opaque, default).
fillColor Specifies a list of hex color codes, if the group has to be rendered with a gradient effect. For examplqe, "fillColor": "#ffcc66,#2deaff,#a6992a". This attribute is not applicable to the line, text, and image annotations
fillAlpha Specifies the transparency of the colors specified using the fillColor attribute. This attribute takes values between 0 (transparent) and 100 (opaque, default). The number of values provided for this attribute should be the same as that for the fillColor attribute. In case the number of values is less than the number of colors provided, the last of the comma-separated values is repeated for the remaining colors.
fillRatio Specifies the ratio for distribution for all colors specified as a comma-separated list to the fillColor attribute. This attribute takes values between 0 and 100. The number of values provided for this attribute should be the same as that for the fillColor attribute. In case the number of ratio values is less than the number of colors provided, the last of the comma-separated values is repeated for the remaining colors. The summation of these values should not exceed 100.
fillAngle For a gradient fillColor, it specifies the angle in which the gradient will be drawn. It accepts one value between 0 to 360 in degrees.
fillPattern Specifies whether the gradient fill will be linear or radial (default for circle and arc annotations).
showborder Specifies whether a border will be shown around the annotation. Setting this attribute to 1 shows the border, setting it to 0 (default) hides it.
borderColor Specifies the hex color code for the annotation border. For example, setting this attribute to #f8bd19 will show a yellow border around the annotation. This attribute is not applicable to the line annotation.
borderAlpha Specifies the transparency of the annotation border. This attribute takes values between 0 (transparent) and 100 (opaque, default). This attribute is not applicable to the line annotation.
borderThickness Specifies the thickness of the annotation border, in pixels. Default value is 2 pixels. This attribute is not applicable to the line annotation
dashed Specifies whether the annotation border will be drawn using dashed lines. Setting this attribute to 1 will render the border using dashed lines, setting it to 0 (default) will render it using whole lines. For the line annotation, it renders the annotation itself as a dashed line.
dashLen Specifies the length of each dash, if a dashed border is drawn for the annotation.
dashGap Specifies the gap between each dash, if a dashed border is drawn for the annotation.
toolText Specifies the tooltip for annotation items that is shown when the mouse pointer is hovered over it.
link Specifies the URL to which the user will be redirected, if the annotation item is clicked.
showShadow Specifies whether a shadow effect will be shown for the annotation group. Setting this attribute to 1 shows the effect, setting it 0 (default) does not show the effec.

Ad Hoc Attributes

Line

Attribute Name Description
type Set this attribute to line.
x Specifies the x coordinate of the starting position of the line with respect to the leftmost position (taken as zero) of the chart.
y Specifies the y coordinate of the starting position of the line with respect to the topmost position (taken as zero) of the chart.
toX Specifies the x coordinate of the ending position of the line with respect to the leftmost position (taken as zero) of the chart.
toY Specifies the y coordinate of the ending position of the line with respect to the topmost position (taken as zero) of the chart.
thickness Specifies the thickness of the line, in pixels.

Circle


Attribute Name Description
type Set this attribute to circle.
x Specifies the x coordinate of the center of the circle with respect to the leftmost position (taken as zero) of the chart.
y Specifies the y coordinate of the center of the circle with respect to the topmost position (taken as zero) of the chart.
radius Specifies the radius of the circle, in pixels.
yRadius Specifies the height, in pixels, if you want to draw an oval annotation.
startAngle Specifies the start angle (in degrees), if a circle has to be drawn like a wedge. For example, setting "startAngle": "0" and "endAngle": "180" will draw a semicircle.
endAngle Specifies the end angle (in degrees), if a circle has to be drawn like a wedge.

Arc

Attribute Name Description
type Set this attribute to arc.
x Specifies the x coordinate of the center of the arc with respect to the leftmost position (taken as zero) of the chart.
y Specifies the y coordinate of the center of the circle with respect to the topmost position (taken as zero) of the chart.
radius Specifies the outer radius of the arc, in pixels.
innerRadius Specifies the inner radius of the arc, in pixels.
startAngle Specifies the starting angle of the arc. This attribute takes values between 0 and 360. The default value is 0.
endAngle Specifies the ending angle of the arc. This attribute takes values between 0 and 360. The default value is 360.

Rectangle


Attribute Name Description
type Set this attribute to rectangle.
x Specifies the x coordinate of the starting position of the rectangle with respect to the leftmost position (taken as zero) of the chart.
y Specifies the y coordinate of the starting position of the rectangle with respect to the topmost position (taken as zero) of the chart.
toX Specifies the x coordinate of the ending position of the rectangle with respect to the leftmost position (taken as zero) of the chart.
toY Specifies the y coordinate of the ending position of the rectangle with respect to the topmost position (taken as zero) of the chart.
radius Specifies the radius of the edges of a rectangle, in pixels. This attribute is used when you want to render the annotation as a rounded rectangle.

Polygon

Attribute Name Description
type Set it to polygon.
sides Specifies the number of sides for the polygon. Its value must be greater than 2.
x Specifies the x coordinate of the center of the polygon with respect to the leftmost position (taken as zero) of the chart.
y Specifies the y coordinate of the center of the polygon with respect to the topmost position (taken as zero) of the chart.
radius Specifies the radius of the edges of a polygon, in pixels.

Text


Attribute Name Description
type Set this attribute to text.
text Specifies the text that is to be rendered as the annotation.
x Specifies the x coordinate of the position of the text annotation with respect to the leftmost position (taken as zero) of the chart.
y Specifies the y coordinate of the position of the text annotation with respect to the topmost position (taken as zero) of the chart.
font Specifies the font family for the text annotation.
fontSize Specifies the font size for the text annotation.
align Specifies the horizontal alignment of the text annotation. This attribute takes left, center, and right as values. The default value is center.
vAlign Specifies the vertical alignment of the text annotation. This attribute takes top, middle, and bottom as values. The default value is middle.
bold Specifies whether the text will be in bold. Setting this attribute to 1 renders the text in bold, setting it to 0 (default) removes the bold formatting.
italic Specifies whether the text will be in italic. Setting this attribute to 1 renders the text in italic, setting it to 0 (default) removes the italic formatting.
bgColor Specifies the hex color code for the text annotation's background. For example, a value of #fcfc00 colors the background yellow.
leftMargin Sets a fixed margin, in pixels, to the left of the text.
rotateText Specifies whether the text annotation(s) will be rotated. This attribute takes 0(default), 1, left, and right as values.
wrap Specifies whether text wrapping will be enabled. Setting this attribute to 1 will enable text wrapping, setting it to 0 (default) will disable it.
wrapWidth Specifies the width wrapping dimension for the text. When this width is reached, it will cause the text to break into a new line. The toX and toY attributes can also be set on text if text wrapping dimensions are provided in absolute pixels from annotation group's origin coordinates.
wrapHeight Like the wrapWidth attribute, this attribute applies to the height occupied by the text. Ellipses are appended to the end of text when text overflows beyond allocated vertical space of wrapHeight or toY attributes.

Path


Attribute Description
type Set this attribute to path.
path Specifies the path command and accepts standard SVG path format. For example, the path command "M 10, 10, L 100, 100" signifies that we start drawing from the coordinate at (10,10) pixel using M ( Move to) command and draw a line up to the coordinate (100,100) pixel as specified by the L (Line to) command.
x Specifies the x coordinate of the starting position of the path with respect to the leftmost position (taken as 0) of the chart.
y Specifies the y coordinate of the starting position of the path with respect to the topmost position (taken as 0) of the chart.

Images

Attribute Description
type Set this attribute to image.
url Specifies the location of the image file (jpeg, png, or gif) that is to be rendered on the chart. Chart rendering does not pause for the image to load and as such asynchronously draws them as and when they are loaded. In case you need to load them instantaneously, you may considering preloading the images.
x Specifies the x coordinate of the starting position of the image annotation with respect to the leftmost position (taken as 0) of the chart.
y Specifies the y coordinate of the starting position of the image annotation with respect to the topmost position (taken as 0) of the chart.
xscale Specifies the resize value for the image width.
yscale Specifies the resize value for the image height.

Use macros to position annotations

Use the following macros to position annotations within charts and gauges:

  • Define the annotation position attributes (x, y, toX, toY, etc.) relative to the chart using the $chartStartX, $chartStartY, $chartEndX, $chartEndY, $chartCenterX, $chartCenterY, $chartWidth, and $chartHeight macros.

  • Position annotations with respect to the chart margins using the $chartTopMargin, $chartBottomMargin, $chartLeftMargin, and $chartRightMargin macros.

  • Position annotations relative to the chart caption and subcaption, using the $captionStartX, $captionStartY, $captionEndX, $captionEndY, $captionWidth, $captionHeight, $subCaptionStartX, $subCaptionStartY, $subCaptionEndX, $subCaptionEndY, $subCaptionWidth, and $subCaptionHeight macros.

  • Position annotations with respect to the canvas, using the $canvasStartX, $canvasStartY, $canvasEndX, $canvasEndY, $canvasWidth, and $canvasHeight macros. Note that these macros are only applicable to Cartesian charts.

  • Position annotations around a legend using the $legendStartX, $legendStartY, $legendEndX, $legendEndY, $legendWidth, and $legendHeight macros. Note that these macros are only applicable to Cartesian charts.

  • Position annotations around gauges using the $gaugeStartX, $gaugeStartY, $gaugeEndX, $gaugeEndY, $gaugeCenterX, and $gaugeCenterY macros.

  • Position annotations with respect to the start angle and end angle of an angular gauge, using the $gaugeStartAngle and $gaugeEndAngle macros respectively.

  • Position annotations with respect to the radius of a bulb gauge using the $gaugeRadius macro.

  • Position annotations with respect to the width of the entire funnel or pyramid plot using the $plotWidth macro.

  • Position annotations with respect to half-width of the entire funnel or pyramid plot, using the $plotSemiWidth macro.

Use sub-token macros to position annotations

Use the following sub-token macros to position annotations with respect to datasets and axes:

\$dataset

Use the \$dataset macro to add the position information of the plots in a dataset to the annotation. You can apply the "dataset_index [separator] set [separator] set_index [separator] position_key" sub token to the macro.

Possible values you can assign to the position_key include X, Y, STARTX, STARTY, ENDX, ENDY, CENTERX, and CENTERY.

For example, you can use the following values to position a rectangle above the second column in a column chart:

  • x:\$dataset.0.set.1.STARTX

  • y:\$dataset.0.set.1.STARTY

  • tox:\$dataset.0.set.1.STARTX+100

  • toy:\$dataset.0.set.1.STARTY-40

\$yaxis

Use the \$yaxis macro to add the position information of the y-axis labels to the annotation. You can apply the "yaxis_index [separator] label [separator] label_index [separator] position_key" sub token to the macro.

Possible values you can assign to the position_key include X, Y, STARTX, STARTY, ENDX, ENDY, CENTERX, and CENTERY.

For example, you can position a text on the y axis, using the following values:

  • x: \$yaxis.0.label.1.startx -12

  • y: \$yaxis.0.label.0.starty - 5

\$xaxis

Use the \$xaxis macro to add the position information of the x-axis labels to the annotation. You can apply the "xaxis_index [separator] label [separator] label_index [separator] position_key" sub-token to the macro.

Possible values you can assign to the position_key are the same as the ones you can use with the $yaxis macro.

For example, you can position a text on the x axis, using the following values:

  • x: \$xaxis.label.1.startx+2

  • y: \$xaxis.label.0.starty+3