要使amCharts的dateAxis仅显示时间而不显示日期,您可以使用labelFunction属性来自定义dateAxis的标签显示方式。下面是一个使用labelFunction解决这个问题的示例代码:
// 创建一个图表实例
var chart = am4core.create("chartdiv", am4charts.XYChart);
// 设置数据源
chart.data = [{
"date": new Date(2021, 0, 1, 12, 0, 0), // 示例数据,可以根据实际情况进行替换
"value": 100
}, {
"date": new Date(2021, 0, 1, 13, 0, 0),
"value": 200
}, {
"date": new Date(2021, 0, 1, 14, 0, 0),
"value": 150
}];
// 创建一个dateAxis
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
// 设置坐标轴的显示格式
dateAxis.dateFormats.setKey("hour", "HH:mm"); // 设置小时显示格式
// 使用labelFunction来自定义标签的显示方式
dateAxis.renderer.labels.template.labelFunction = function(value) {
return am4core.timeFormatter.format(value, "HH:mm"); // 仅显示小时和分钟
};
// 创建一个valueAxis
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
// 创建一个折线图系列
var series = chart.series.push(new am4charts.LineSeries());
series.dataFields.valueY = "value";
series.dataFields.dateX = "date";
series.tooltipText = "{dateX}: [bold]{valueY}[/]";
// 设置图表的样式
chart.cursor = new am4charts.XYCursor();
chart.cursor.xAxis = dateAxis;
chart.scrollbarX = new am4core.Scrollbar();
// 渲染图表
chart.render();
在上面的代码中,我们通过设置dateFormats来指定dateAxis的显示格式,然后使用labelFunction来自定义标签的显示方式,仅显示小时和分钟部分。请根据您的实际需求调整代码中的示例数据。