FusionCharts - Using annotations to add a callout to a column
Created using FusionCharts Suite XT - www.fusioncharts.com
by FusionCharts
HTML
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.fusion.js"></script>
<!--
Using annotations to add a callout to a column. Positioning is done using annotation macros e.g., $dataset.0.set.3.x or $dataset.0.set.3.y.
-->
<div id="chart-container">FusionCharts will render here</div>
JavaScript
FusionCharts.ready(function() {
var revenueChart = new FusionCharts({
type: 'column2d',
renderAt: 'chart-container',
id: "myChart",
width: '500',
height: '350',
dataFormat: 'json',
dataSource: {
"chart": {
"theme": "fusion",
"caption": "Comparison of Quarterly Revenue",
"subCaption": "Last Year",
"showBorder": "0",
"xAxisName": "Quarter",
"yAxisName": "Amount (In USD)",
"numberPrefix": "$",
"yAxisMaxValue": "50000",
"showValues": "0",
"showTooltip": "0",
//Theme
"theme": "fint"
},
"data": [{
"label": "Q1",
"value": "25400"
}, {
"label": "Q2",
"value": "29800"
}, {
"label": "Q3",
"value": "21800"
}, {
"label": "Q4",
"value": "26800"
}],
//All annotations are grouped under this element
"annotations": {
"drawImmediately": "1",
"showbelow": "1",
//Annotations on a chart can be divided across multiple groups for easy management, and manipulation through API
"groups": [{
//Each group needs a unique ID
"id": "Callout",
//Under each group, you can define multiple items. Each item is a polygon, text or image - with its own set of parameters.
"items": [{
//Each item needs a unique ID
"id": "CalloutBase",
//This item is of type rectangle
"type": "rectangle",
"radius": "2",
"alpha": "90",
"fillColor": "#6baa01",
//Setting x and y position based on annotation macros. Here we're statically positioning it w.r.t 2nd column (0 base in JavaScript) of 1st dataset. Hence $dataset.0.set.1.x
"x": "$dataset.0.set.1.x-110",
"y": "$dataset.0.set.1.starty-18",
"tox": "$dataset.0.set.1.x+110",
"toy":...