• Open in:

CSS animations

Since v 3.12.0 all elements of the chart can have class names set – all you need to do is setting addClassNames property of a chart to true. This feature allows you to control the look of a chart using CSS and even more – use CSS animation to highlight specific areas in your chart. Note, CSS animations are not available on all browsers – even modern IE doesn’t support them. Be careful – CSS animations use a lot of CPU resources.

Demo source

<!-- Styles -->
<style>
#chartdiv{
  width: 100%;
  height: 500px;
}

.amcharts-graph-g2 .amcharts-graph-stroke {
  stroke-dasharray: 3px 3px;
  stroke-linejoin: round;
  stroke-linecap: round;
  -webkit-animation: am-moving-dashes 1s linear infinite;
  animation: am-moving-dashes 1s linear infinite;
}

@-webkit-keyframes am-moving-dashes {
  100% {
    stroke-dashoffset: -31px;
  }
}
@keyframes am-moving-dashes {
  100% {
    stroke-dashoffset: -31px;
  }
}


.lastBullet {
  -webkit-animation: am-pulsating 1s ease-out infinite;
  animation: am-pulsating 1s ease-out infinite;
}
@-webkit-keyframes am-pulsating {
  0% {
    stroke-opacity: 1;
    stroke-width: 0px;
  }
  100% {
    stroke-opacity: 0;
    stroke-width: 50px;
  }
}
@keyframes am-pulsating {
  0% {
    stroke-opacity: 1;
    stroke-width: 0px;
  }
  100% {
    stroke-opacity: 0;
    stroke-width: 50px;
  }
}

.amcharts-graph-column-front {
  -webkit-transition: all .3s .3s ease-out;
  transition: all .3s .3s ease-out;
}
.amcharts-graph-column-front:hover {
  fill: #496375;
  stroke: #496375;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.amcharts-graph-g3 {
  stroke-linejoin: round;
  stroke-linecap: round;
  stroke-dasharray: 500%;
  stroke-dasharray: 0 /;    /* fixes IE prob */
  stroke-dashoffset: 0 /;   /* fixes IE prob */
  -webkit-animation: am-draw 40s;
  animation: am-draw 40s;
}
@-webkit-keyframes am-draw {
    0% {
        stroke-dashoffset: 500%;
    }
    100% {
        stroke-dashoffset: 0%;
    }
}
@keyframes am-draw {
    0% {
        stroke-dashoffset: 500%;
    }
    100% {
        stroke-dashoffset: 0%;
    }
}
/* OVERWRITE OUR MAIN STYLE */
.demo-flipper-front.demo-panel-white, body {
  background-color: #161616;
}									
</style>

<!-- Resources -->
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />

<!-- Chart code -->
<script>
var chartData = [ {
  "date": "2012-01-01",
  "distance": 227,
  "townName": "New York",
  "townName2": "New York",
  "townSize": 25,
  "latitude": 40.71,
  "duration": 408
}, {
  "date": "2012-01-02",
  "distance": 371,
  "townName": "Washington",
  "townSize": 14,
  "latitude": 38.89,
  "duration": 482
}, {
  "date": "2012-01-03",
  "distance": 433,
  "townName": "Wilmington",
  "townSize": 6,
  "latitude": 34.22,
  "duration": 562
}, {
  "date": "2012-01-04",
  "distance": 345,
  "townName": "Jacksonville",
  "townSize": 7,
  "latitude": 30.35,
  "duration": 379
}, {
  "date": "2012-01-05",
  "distance": 480,
  "townName": "Miami",
  "townName2": "Miami",
  "townSize": 10,
  "latitude": 25.83,
  "duration": 501
}, {
  "date": "2012-01-06",
  "distance": 386,
  "townName": "Tallahassee",
  "townSize": 7,
  "latitude": 30.46,
  "duration": 443
}, {
  "date": "2012-01-07",
  "distance": 348,
  "townName": "New Orleans",
  "townSize": 10,
  "latitude": 29.94,
  "duration": 405
}, {
  "date": "2012-01-08",
  "distance": 238,
  "townName": "Houston",
  "townName2": "Houston",
  "townSize": 16,
  "latitude": 29.76,
  "duration": 309
}, {
  "date": "2012-01-09",
  "distance": 218,
  "townName": "Dalas",
  "townSize": 17,
  "latitude": 32.8,
  "duration": 287
}, {
  "date": "2012-01-10",
  "distance": 349,
  "townName": "Oklahoma City",
  "townSize": 11,
  "latitude": 35.49,
  "duration": 485
}, {
  "date": "2012-01-11",
  "distance": 603,
  "townName": "Kansas City",
  "townSize": 10,
  "latitude": 39.1,
  "duration": 890
}, {
  "date": "2012-01-12",
  "distance": 534,
  "townName": "Denver",
  "townName2": "Denver",
  "townSize": 18,
  "latitude": 39.74,
  "duration": 810
}, {
  "date": "2012-01-13",
  "townName": "Salt Lake City",
  "townSize": 12,
  "distance": 425,
  "duration": 670,
  "latitude": 40.75,
  "alpha": 0.4
}, {
  "date": "2012-01-14",
  "latitude": 36.1,
  "duration": 470,
  "townName": "Las Vegas",
  "townName2": "Las Vegas",
  "bulletClass": "lastBullet"
}, {
  "date": "2012-01-15"
}, {
  "date": "2012-01-16"
}, {
  "date": "2012-01-17"
}, {
  "date": "2012-01-18"
}, {
  "date": "2012-01-19"
} ];
var chart = AmCharts.makeChart( "chartdiv", {
  "type": "serial",
"theme": "none",

  "dataDateFormat": "YYYY-MM-DD",
  "dataProvider": chartData,

  "addClassNames": true,
  "startDuration": 1,
  //"color": "#FFFFFF",
  "marginLeft": 0,

  "categoryField": "date",
  "categoryAxis": {
    "parseDates": true,
    "minPeriod": "DD",
    "autoGridCount": false,
    "gridCount": 50,
    "gridAlpha": 0.1,
    "gridColor": "#FFFFFF",
    "axisColor": "#555555",
    "dateFormats": [ {
      "period": 'DD',
      "format": 'DD'
    }, {
      "period": 'WW',
      "format": 'MMM DD'
    }, {
      "period": 'MM',
      "format": 'MMM'
    }, {
      "period": 'YYYY',
      "format": 'YYYY'
    } ]
  },

  "valueAxes": [ {
    "id": "a1",
    "title": "distance",
    "gridAlpha": 0,
    "axisAlpha": 0
  }, {
    "id": "a2",
    "position": "right",
    "gridAlpha": 0,
    "axisAlpha": 0,
    "labelsEnabled": false
  }, {
    "id": "a3",
    "title": "duration",
    "position": "right",
    "gridAlpha": 0,
    "axisAlpha": 0,
    "inside": true,
    "duration": "mm",
    "durationUnits": {
      "DD": "d. ",
      "hh": "h ",
      "mm": "min",
      "ss": ""
    }
  } ],
  "graphs": [ {
    "id": "g1",
    "valueField": "distance",
    "title": "distance",
    "type": "column",
    "fillAlphas": 0.9,
    "valueAxis": "a1",
    "balloonText": "[[value]] miles",
    "legendValueText": "[[value]] mi",
    "legendPeriodValueText": "total: [[value.sum]] mi",
    "lineColor": "#263138",
    "alphaField": "alpha"
  }, {
    "id": "g2",
    "valueField": "latitude",
    "classNameField": "bulletClass",
    "title": "latitude/city",
    "type": "line",
    "valueAxis": "a2",
    "lineColor": "#786c56",
    "lineThickness": 1,
    "legendValueText": "[[value]]/[[description]]",
    "descriptionField": "townName",
    "bullet": "round",
    "bulletSizeField": "townSize",
    "bulletBorderColor": "#786c56",
    "bulletBorderAlpha": 1,
    "bulletBorderThickness": 2,
    "bulletColor": "#000000",
    "labelText": "[[townName2]]",
    "labelPosition": "right",
    "balloonText": "latitude:[[value]]",
    "showBalloon": true,
    "animationPlayed": true
  }, {
    "id": "g3",
    "title": "duration",
    "valueField": "duration",
    "type": "line",
    "valueAxis": "a3",
    "lineColor": "#ff5755",
    "balloonText": "[[value]]",
    "lineThickness": 1,
    "legendValueText": "[[value]]",
    "bullet": "square",
    "bulletBorderColor": "#ff5755",
    "bulletBorderThickness": 1,
    "bulletBorderAlpha": 1,
    "dashLengthField": "dashLength",
    "animationPlayed": true
  } ],

  "chartCursor": {
    "zoomable": false,
    "categoryBalloonDateFormat": "DD",
    "cursorAlpha": 0,
    "valueBalloonsEnabled": false
  },
  "legend": {
    "bulletType": "round",
    "equalWidths": false,
    "valueWidth": 120,
    "useGraphSettings": true,
    //"color": "#FFFFFF"
  }
} );
</script>

<!-- HTML -->
<div id="chartdiv"></div>