0

我几乎尝试了所有方法,但我不再知道如何解决这个问题我将我的数据从 php 中的 api 获取到 javascript 在这种情况下是时间,我使用的是 chart.js 实时图表,我想自动将时间应用到标签,但我不明白如何在我的 chart.js 标签中使用我的地图数组的变量

function drawChartHistoryTimelineGateWayAll_hours(dataFromAjax){

 var time = dataFromAjax.data.data1.map(function(innerData) {
    return innerData.map(function(row){
        return moment(row[11], 'YYYY-MM-DD HH:mm:ss').format('HH:mm:ss');
    });
 });

 var myChartObject = document.getElementById('myChartHistory');
 var chart = new Chart(myChartObject,{
    type: 'line',
    data: {
        labels: [timeDisplay],--------->I need to use the variable here
        datasets: [{
            label: "GATEWAY1",
            fill: true,
            backgroundColor: 'rgba(255, 99, 132, 0.2)',
            borderColor: 'rgba(255, 99, 132, 1)',
            data: [25,45,65] //Daten müssen Konfiguriert werden
        },
 }
}
4

1 回答 1

0

要实现自定义标签,有一个名为 datalabels 的 chartjs 插件,可以使用 cdn 导入

<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@0.7.0"></script>

或使用 npm

npm i chartjs-plugin-datalabels

请参阅以下代码,将自定义日期作为标签


 let x = [],
              y = [];
            data.forEach(z => {
              let date = new Date(z.dateT)
              x.push(date.toLocaleDateString());
            });

            var myLineChart = new Chart(ctx, {
              plugins: [ChartDataLabels],  
              type: "bar",
              data: {
                labels: x,
                datasets: [
                  {
                    data: y,
                    backgroundColor: [
                      "rgba(255, 99, 132, 0.2)",
                      "rgba(54, 162, 235, 0.2)",
                      "rgba(255, 206, 86, 0.2)",
                      "rgba(75, 192, 192, 0.2)",
                      "rgba(153, 102, 255, 0.2)",
                      "rgba(255, 159, 64, 0.2)",
                      "rgba(211, 84, 0,0.8)"
                    ]
                  }
                ]
              },
              options: options
            });
          }
        };
    ````


于 2019-10-15T07:04:13.387 回答