Inverted Chart axisY stackedColumn - CanvasJS JavaScript Charts
Inverted Chart axisY stackedColumn - CanvasJS JavaScript Charts
by canvasjs
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
JavaScript
var chart = new CanvasJS.Chart("chartContainer",
{
title:{
text:"Inverted AxisY"
},
data: [
{
type: "stackedColumn",
dataPoints: [
{ x: 10, y: 200 },
{ x: 20, y: 155},
{ x: 30, y: 150 },
{ x: 40, y: 165 },
{ x: 50, y: 195 },
{ x: 60, y: 168 },
{ x: 70, y: 128 },
{ x: 80, y: 134 },
{ x: 90, y: 114}
]
},
{
type: "stackedColumn",
dataPoints: [
{ x: 10, y: 180 },
{ x: 20, y: 135},
{ x: 30, y: 50 },
{ x: 40, y: 135 },
{ x: 50, y: 195 },
{ x: 60, y: 50 },
{ x: 70, y: 128 },
{ x: 80, y: 134 },
{ x: 90, y: 114}
]
}
]
});
invert(chart);
chart.render();
function invert(chart){
//Invert DataPoint Y Values.
for(var i = 0; i < chart.options.data.length; i++){
for(var j=0; j<chart.options.data[i].dataPoints.length;j++)
chart.options.data[i].dataPoints[j].y= -(chart.options.data[i].dataPoints[j].y) ;
}
//Invert Y Axis Labels
if(!chart.options.axisY)
chart.options.axisY = {};
chart.options.axisY.labelFormatter = function (e) {
return e.value+150;
};
//Invert ToolTip Values
if(!chart.options.toolTip)
chart.options.toolTip = {};
chart.options.toolTip.contentFormatter = function(e){
var content = " ", entry;
for (var i = 0; i < e.entries.length; i++) {
entry = e.entries[i];
content = -(entry.dataPoint.y);
}
return content;
}
}