代码之家  ›  专栏  ›  技术社区  ›  J4N

为什么我的ng2图表数据没有正确缩放?

  •  0
  • J4N  · 技术社区  · 3 年前

    我有一些来自服务的数据显示在 ng2-chart .

    这是一个暂时显示一些虚假数据的伪图表。

    这是HTML的一面:

              <canvas
                 baseChart
                 [datasets]="[getDataSet(currentTest.results['cpu'])]"
                 [options]="timeChartOptions"
                 chartType="line"
              >
              </canvas>
    

    这是 timeChartOptions :

       public timeChartOptions: ChartOptions = {
          scales: {
             xAxes: [
                {
                   type: 'time',
                   time: {
                      unit: 'second',
                   },
                },
             ],
          },
       };
    

    以下是我如何格式化数据(我只有一个序列):

       public getDataSet(testResult: TestResult): ChartDataSets | undefined {
          if (testResult) {
             return {
                data: testResult.indexes.map((x, index) => ({ x: +x, y: testResult.values[index] })),
                label: testResult.name,
             };
          }
          return undefined;
       }
    }
    

    我不认为我转换序列的方式是相关的,因为我看到的数据顺序正确,但当我显示图表时:

    1. 它以100%正确的显示快速闪烁
    2. 然后数据没有正确的幅度(如果有帮助的话,我的数据的幅度在1到22之间)。

    以下是我刷新页面时看到的内容的小视频: https://www.screencast.com/t/LzUdPK4mu

    知道我错过了什么吗?

    1 回复  |  直到 3 年前
        1
  •  0
  •   J4N    3 年前

    我找到了答案!

    问题是我使用了一个函数来计算ng图表的数据集。当我放了一个 console.log ,我意识到这个函数被调用了很多,所以基本上图表是在循环中获得新的数据集,我想这是一种开始动画。