AM Charts initial view using zoomToDates

本小妞迷上赌 提交于 2020-06-13 06:48:14

问题


Been stumped on this for a little bit.

I found some other help on zoomToIndexes, but I cant get the zoomToDates to work on my page.

Live page is b2 resource urq sales

Im trying to set the initial view to show from 2000 to current.. I want to slap some original sales data from early 80's in the graph, but dont want the graph to initially show the last 30+ years..

Any help would be MUCH appreciated!


回答1:


zoomToDates takes real JavaScript Date objects as parameters:

chart.zoomToDates(new Date(2005, 0, 1), new Date(2015, 11, 31));

You can use chart's rendered event to "pre-zoom" on load as well:

var chart = AmCharts.makeChart("chartdiv", {
  // your chart config
  // ...
});

chart.addListener("rendered", function(event) {
  event.chart.zoomToDates(new Date(2005, 0, 1), new Date(2015, 11, 31));
});

Note, that months in Date() constructor parameter (second parameter) are zero-based. Meaning January is 0, February - 1, etc.




回答2:


You should use valueAxis property of chart object for zoomToValues. I hope this might help you.

 var chart= AmCharts.makeChart("chartdiv", {
      "type": "gantt",
      "theme": "black",
           ...
    });

    zoomChart();
    chart.addListener("dataUpdated", zoomChart);



 function zoomChart(event) {
   chart.valueAxis.zoomToValues(new Date(2017, 2, 10), new Date(2017,2,12));
  // or ==> event.chart.valueAxis.zoomToValues(new Date(2017, 2, 10), new Date(2017,2,12));
 }



回答3:


This worked for me.:

var chart = AmCharts.makeChart('chartdiv', {
  type: 'serial',
  ...
});

chart.addListener('dataUpdated', zoomChart);

zoomChart();

function zoomChart() {
  chart.zoomToDates(new Date(2018, 2, 26), new Date(2018, 2, 28));
}

Note: The months parameter in Date() constructor are zero-based. January is 0, February is 1 and etc.



来源:https://stackoverflow.com/questions/31104353/am-charts-initial-view-using-zoomtodates

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!