首页 > 解决方案 > 折线图不接受日期作为第 0 列?

问题描述

我有一个表格,当用户单击它时,它会为所选行生成一个折线图。折线图的第 0 列是字符串日期,因此我想将其格式化为 Date() 以应用 DateRange 过滤器。我执行以下操作

data.yearChart.forEach(row => {
  let dato =  new Date(row[0]);
  if(dato != "Invalid Date" ){
      row[0] = dato;
  }
  console.log(row);
});

在控制台日志中,我看到所有行都正确地转换为 Date 对象,但图表会抛出 a.getTime() is not a function. 所以实际上如果我现在添加过滤器,它会正确显示,但仍然没有绘制图表。我也有图表的日期格式化程序,但它似乎没有做任何事情。

 var formatChart = new google.visualization.DateFormat({formatType: 'short'});
 formatChart.format(dataYear, 0);
 dateSlider.draw();
 chart.draw(dataYear, options);

这很奇怪,因为折线图接受日期对象。我会上传更多的代码片段,但这个项目在这一点上变得非常笨拙,只有在需要时才会这样做。

所以我的问题是,我怎样才能使折线图加载日期,以便可以应用日期范围过滤器?

编辑:我的 json 数据在点击 php 文件时加载

标签: javascriptgoogle-visualization

解决方案


推荐阅读