Annotation Chart Example

An example of a Google Annotation Chart.

by damiantt

HTML

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id='chart_div' style='width: 900px; height: 500px;'></div>

JavaScript

google.charts.load('current', {
        'packages': ['annotationchart']
      });
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('date', 'Date');
        data.addColumn('number', 'Kepler-22b mission');
        data.addColumn('string', 'Kepler title');
        data.addColumn('string', 'Kepler text');
        data.addColumn('number', 'Gliese 163 mission');
        data.addColumn('string', 'Gliese title');
        data.addColumn('string', 'Gliese text');
        data.addColumn('number', 'Gliese 163 mission');
        data.addColumn('string', 'Gliese title');
        data.addColumn('string', 'Gliese text');
        data.addRows([
          [new Date(2314, 2, 15), 12400, undefined, undefined,
            10645, undefined, undefined, 10645, undefined, undefined
          ],
          [new Date(2314, 2, 16), 24045, 'Lalibertines', 'First encounter',
            12374, undefined, undefined, 12374, undefined, undefined
          ],
          [new Date(2314, 2, 17), 35022, 'Lalibertines', 'They are very tall',
            15766, 'Gallantors', 'First Encounter', 15766, 'Gallantors', 'Ec Encounter'
          ]
        ]);

        var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div'));
        var options = {
          displayAnnotations: true,
          annotationColumns: [{
            type: 'flag',
            priority: 'high'
          }]
        };
        var onceAfterDraw = true;
        google.visualization.events.addListener(chart, 'ready', onReady);

        chart.draw(data, options);
        google.visualization.events.addListener(chart, 'rangechange', function(e) {
          console.log(e);
        });

        function onReady() {
          if (onceAfterDraw) {
            onceAfterDraw = false;
            $('#chart_div_AnnotationChart_zoomControlContainer button').on('click', function(e) {
             ...