AmCharts:非常大的数据集的数据分组

问题描述 投票:0回答:1

我正在使用amcharts折线图。

我拥有最近24小时的数据,并每秒钟记录一次。

我正在尝试将数据分组到amcharts中,但它在图表上仅显示2个数据点。1个数据点来自昨天,1个数据来自今天。

这是我的代码:

  var multiLineChart = am4core.create(
        "multilineChartdiv",
        am4charts.XYChart
      );
      multiLineChart.paddingRight = 20;

      multiLineChart.data = historicalData;

      var dateAxis1 = multiLineChart.xAxes.push(new am4charts.DateAxis());
      dateAxis1.renderer.grid.template.location = 0;
      dateAxis1.minZoomCount = 1;
      dateAxis1.renderer.minGridDistance = 60;
      // dateAxis1.baseInterval = {
      //   timeUnit: "minute",
      //   count: 5,
      // };

      // this makes the data to be grouped
     dateAxis1.groupData = true;
      dateAxis1.groupCount = 500;

      var valueAxis = multiLineChart.yAxes.push(new am4charts.ValueAxis());

      var series1 = multiLineChart.series.push(new am4charts.LineSeries());
      series1.dataFields.dateX = "date";
      series1.dataFields.valueY = "heartRate";
      series1.tooltipText = "{valueY}";
      series1.tooltip.pointerOrientation = "vertical";
      series1.tooltip.background.fillOpacity = 0.5;

      multiLineChart.cursor = new am4charts.XYCursor();
      multiLineChart.cursor.xAxis = dateAxis1;

      var scrollbarX = new am4core.Scrollbar();
      scrollbarX.marginBottom = 20;
      multiLineChart.scrollbarX = scrollbarX; 

enter image description here

我需要至少每5或10分钟显示一次数据点。

amcharts amcharts4
1个回答
0
投票

如果您的时间戳记是一个字符串,请确保将inputDateFormat设置为与日期格式匹配为inputDateFormat,因为默认格式为documented here,将所有其他内容都截断以看起来像是每日数据,类似于屏幕截图:] >

yyyy-MM-dd

由于您的数据以秒为单位,因此建议您相应地设置chart.dateFormatter.inputDateFormat = 'yyyy-MM-dd HH:mm:ss' //adjust as needed ,以确保正确显示数据。

baseInterval    
© www.soinside.com 2019 - 2024. All rights reserved.