【问题标题】:Chart.js date formatting use forChart.js 日期格式用于
【发布时间】:2021-12-27 05:04:47
【问题描述】:

如何使用 for() 格式化数据并将该数据放入 Chart.js 的数据集中。
我试过了,它只显示日期标签而不是标记,但是当我手动添加数据而不使用 for() 内部的数据时,一切正常。

var date = [];
var marks = [];

for (var i in data) {
  date.push(data[i].timestamp); // timestamp
  marks.push(data[i].count); // votes 
}
new Chart('myChart', {
  type: 'line',
  data: {
    datasets: [{
      label: 'votes',
      data: [{
          'date': '11/11',
          'votes': 55
        },
        {
          'date': '5/11',
          'votes': 13
        }
      ],
      borderColor: 'grey',
      backgroundColor: 'rgba(0, 0, 255, 0.5)'
    }]
  },
  options: {
    parsing: {
      xAxisKey: 'date',
      yAxisKey: 'marks'
    },
    scales: {
      y: {
        ticks: {
          stepSize: 1
        }
      },
      x: {
        type: 'time',
        time: {
          parser: 'DD/MM/YY',
          unit: 'day',
          tooltipFormat: 'MMM DD'
        }
      },
      xAxes: [{
        type: 'time',
        time: {
          unit: 'month'
        }
      }],
    }
  }

【问题讨论】:

    标签: javascript arrays for-loop chart.js


    【解决方案1】:

    我现在可以使用它,只需要找到一种不使用数字格式来格式化日期的方法。我认为它最初不起作用的原因是因为我使用的是过时版本的 chart.js。

    var data = <?php print_r(json_encode($data)) ?> ;
    var dates = [];
    var vote = [];
    
    for (var i in data) {
        dates.push(data[i].timestamp);
        vote.push(data[i].count);
    }
    
    var data = {
        labels: dates,
        type: "line",
        datasets: [{
            backgroundColor: '#585b72d9',
            data: vote,
        }],
    
    };
    
    var myBarChart = Chart.Line("examChart", {
        data: data,
    });
    

    【讨论】:

    • 感谢您回来更新。为清楚起见,请尝试编辑您的原始问题,而不是添加答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 2018-04-22
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多