Caru
Caru

Reputation: 3

chartScrollbar AmCharts

I have a Chart in AmCharts, I want to begin the scroll on the top of the graph not on the bottom.

 var chart = AmCharts.makeChart("chartdiv", {
  "type": "serial",
  "theme": "light",
  "rotate":true,
  "maxSelectedSeries": 4,
  "mouseWheelScrollEnabled": true,
  "marginRight": 70,
  "dataProvider": [{
    "country": "USA",
    "visits": 3025,
    "color": "#FF0F00"
  }, {
    "country": "China",
    "visits": 1882,
    "color": "#FF6600"
  }, {
    "country": "Japan",
    "visits": 1809,
    "color": "#FF9E01"
  }, {
    "country": "Germany",
    "visits": 1322,
    "color": "#FCD202"
  }, {
    "country": "UK",
    "visits": 1122,
    "color": "#F8FF01"
  }, {
    "country": "France",
    "visits": 1114,
    "color": "#B0DE09"
  }, {
    "country": "India",
    "visits": 984,
    "color": "#04D215"
  }, {
    "country": "Spain",
    "visits": 711,
    "color": "#0D8ECF"
  }, {
    "country": "Netherlands",
    "visits": 665,
    "color": "#0D52D1"
  }, {
    "country": "Russia",
    "visits": 580,
    "color": "#2A0CD0"
  }, {
    "country": "South Korea",
    "visits": 443,
    "color": "#8A0CCF"
  }, {
    "country": "Canada",
    "visits": 441,
    "color": "#CD0D74"
  }],
  "valueAxes": [{
    "axisAlpha": 0,
    "position": "left",
    "title": "Visitors from country"
  }],
  "startDuration": 1,
  "graphs": [{
    "balloonText": "<b>[[category]]: [[value]]</b>",
    "fillColorsField": "color",
    "fillAlphas": 0.9,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "visits"
  }],
  "chartCursor": {
    "categoryBalloonEnabled": false,
    "cursorAlpha": 0,
    "zoomable": false
  },
  "categoryField": "country",
  "categoryAxis": {
    "gridPosition": "start",
    "labelRotation": 45
  },
  "chartScrollbar": {
    //"graph": "Not set",
    "backgroundColor":"#2f373e",
    "graphType": "smoothedLine",
    "resizeEnabled": false,
    "scrollbarHeight": 15,
    "scrollDuration": 0,
    "updateOnReleaseOnly": true
  }

});

jsfiddle

As you can see in the jsfiddle the scrollbar begin on the bottom of the graph and I have to scroll to the top of the graph to see the first result.

Upvotes: 0

Views: 1784

Answers (1)

xorspark
xorspark

Reputation: 16012

It seems that the chart zooms to the end because the maxSelectedSeries property is set - the chart zooms to the last ~x series upon initilzation. You can work around this by adding an init listener that sets the zoom to the desired location upon initilation by calling zoomToIndexes:

var chart = AmCharts.makeChart("chartdiv", {
  // ...
  "listeners": [{
    "event": "init",
    "method": function(e) {
      e.chart.zoomToIndexes(0, 4);
    }
  }]
});

Updated fiddle

Upvotes: 2

Related Questions