我正在使用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;
我需要至少每5或10分钟显示一次数据点。
如果您的时间戳记是一个字符串,请确保将inputDateFormat
设置为与日期格式匹配为inputDateFormat
,因为默认格式为documented here,将所有其他内容都截断以看起来像是每日数据,类似于屏幕截图:] >
yyyy-MM-dd
由于您的数据以秒为单位,因此建议您相应地设置
chart.dateFormatter.inputDateFormat = 'yyyy-MM-dd HH:mm:ss' //adjust as needed
,以确保正确显示数据。
baseInterval