FusionCharts - Real Time Cylinder Gauge

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>
<div id="chart-container">FusionCharts will render here</div>

JavaScript

FusionCharts.ready(function() {
  var fuelVolume = 110,
    fuelWidget = new FusionCharts({
      type: 'cylinder',
      dataFormat: 'json',
      id: 'fuelMeter-4',
      renderAt: 'chart-container',
      width: '250',
      height: '350',
      dataSource: {
        "chart": {
          "theme": "fusion",
          "caption": "Diesel Level in Generator",
          "subcaption": "Bakersfield Central",
          "lowerLimit": "0",
          "upperLimit": "120",
          "lowerLimitDisplay": "Empty",
          "upperLimitDisplay": "Full",
          "numberSuffix": " ltrs",
          "showValue": "0",
          "chartBottomMargin": "60"
        },
        "value": "110",

        "annotations": {
          "origw": "400",
          "origh": "190",
          "autoscale": "1",
          "groups": [{
            "id": "range",
            "items": [{
              "id": "rangeBg",
              "type": "rectangle",
              "x": "$canvasCenterX-125",
              "y": "$chartEndY-50",
              "tox": "$canvasCenterX +145",
              "toy": "$chartEndY-95",
              "fillcolor": "#6caa03"
            }, {
              "id": "rangeText",
              "type": "Text",
              "fontSize": "11",
              "fillcolor": "#333333",
              "text": "Available Volume : 110 ltrs",
              "x": "$chartCenterX-35",
              "y": "$chartEndY-70"
            }]
          }]
        }
      },
      "events": {
        "rendered": function(evtObj, argObj) {
          var gaugeRef = evtObj.sender,
            fuelVolume = 110;
          gaugeRef.chartInterval = setInterval(function() {
            (fuelVolume < 10) ? (fuelVolume = 110) : "";
            var consVolume = fuelVolume - (Math.floor(Math.random() * 3));
            gaugeRef.feedData("&value=" + consVolume);
            fuelVolume = consVolume;
          }, 1000);
        },
        //Using real time update event to update the annotation
        //showing available volume...