Simple Column Chart
Download: columnChartSimpleAM.zip
How To Create Your Own
Start by dragging out AM|Charts from the left side components menu
Resize it to the desired size
Next add another component (in this example we used a button) and place it in the world
Select everything, and right click and choose create group
From here you can add a tag on your group (must add a tag to work with program, ex. columnChart)
In the left menu, open up the layers, and select the other component (Not the AM|Chart), and delete it (minus icon at the bottom left of the panel)
On the left side open the programs menu
Click the + icon at the bottom left to add a new program
Name your program under Program Name, and put the tag added to the group under Program Target Filter
At the top right click the three dots and select variables
Click the + icon next to Program Vars
Click the gear that appears as you hover over newVariable
Change the name of the variable to point on the top line
On the second line, put id==$virtualPointRef
Click the gray save button
In the main section copy and paste the code below and click the blue save
var queryData;
finstack.eval(point.query, function(data){
queryData=data.result.toObj();
queryData.forEach(function (item)
{
item.curValPretty = GetPrettyValue(item);
});
var chart = AmCharts.makeChart(Chart.view, {
"type": "serial",
"theme": "light",
"dataProvider": queryData,
"category": "navName",
"value": "curVal",
"valueAxes": [ {
"gridColor": "none",
"gridAlpha": 0.2,
"dashLength": 0
} ],
"gridAboveGraphs": true,
"startDuration": 1,
"graphs": [ {
"balloonText": "[[navName]]: <b>[[curValPretty]]</b>",
"fillAlphas": 0.8,
"lineAlpha": 0.2,
"type": "column",
"valueField": "curVal"
} ],
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "navName",
"categoryAxis": {
"gridPosition": "start",
"gridAlpha": 0,
"tickPosition": "start",
"tickLength": 20
},
"export": {
"enabled": true
}
} );
});With the group selected go to the properties panel
Under Advanced, add a new tag, by clicking on the + icon at the bottom left
Name the NewProperty query
Then name the NewValue to be set to the query desired (In the example we use readAll(point).get(0..3)
Using the Chart with Ractive
Start by dragging an AM Chart into the workspace. Next right click and select show/hide so that you will no longer be able to see it
Next drag out Ractive and properties menu with Ractive selected, click Open Editor
In the Ractive Editor copy and paste these lines of code below into the template section and init section and hit save
Template
<div id="columnChart" style="width:100%; height:100%;"></div>Init
this.ractive.fire("obtainData");Next were going to add the query
Under Properties and advanced add a tag with the value set to the desired query
Next were going to add the program shown above.
Start by going to Programs in the left menu and clicking the + icon.
Under Program Name, name the program
Under Program Target Filter type in stackRactive
Click the three dots in the top right corner and select variables
Click on the gear that appears as you hover over the word this
Turn on invokes the function and change the dropdown to custom event
In the box below type in obtainData and click the gray save button
Then click the + icon to add a new variable and call it point and in the box under type in id==$virtualPointRef and click the gray save button
Next copy and paste the code below into the main part of the program.
var template = this;
var queryData = query("stackRactive");
finstack.eval(point.query, function(data){
queryData=data.result.toObj();
var test = template.view.querySelector("#columnChart");
var chart = AmCharts.makeChart(test, {
"type": "serial",
"theme": "light",
"dataProvider": queryData,
"category": "navName",
"value": "curVal",
"valueAxes": [ {
"gridColor": "none",
"gridAlpha": 0.2,
"dashLength": 0
} ],
"gridAboveGraphs": true,
"startDuration": 1,
"graphs": [ {
"balloonText": "[[navName]]: <b>[[curVal]][[unit]]</b>",
"fillAlphas": 0.8,
"lineAlpha": 0.2,
"type": "column",
"valueField": "curVal"
} ],
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "navName",
"categoryAxis": {
"gridPosition": "start",
"gridAlpha": 0,
"tickPosition": "start",
"tickLength": 20
},
"export": {
"enabled": true
}
} );
});Click the blue save button and your done!