javascript - ng2-charts:如何在 typescript 中动态设置图表标题

标签 javascript angular chart.js ng2-charts

使用“ng2-charts”:“^1.6.0”。 我有一个像这样的折线图:

<canvas baseChart
              [datasets]="lineChartData"
              [labels]="lineChartLabels"
              [options]="lineChartOptions"
              [colors]="lineChartColors"
              [legend]="lineChartLegend"
              [chartType]="lineChartType"
              (chartHover)="chartHovered($event)"
              (chartClick)="chartClicked($event)"></canvas>
    </div>

我有一个变量设置如下选项:

this.lineChartOptions = {
      responsive: true,
      animation: {
        duration: 5000, // general animation time
      },
      scales: {
        xAxes: [{
          type: 'time',
          distribution: 'series'
        }]
      },
      title: {
        display: true,
        text: this.getChartTitle()
      }
    }
    this.lineChartOptions.update();
  }

这是 getChartTitle 方法。

getChartTitle(): string[] {
   const data = this.chartData.map(point => point.y); // grab only points within the visible range

return ['ChartName',
        '(Data for ' + this.startDate + ' to ' + this.endDate + ')',
        '[<b>Avg Value:</b> ' + Math.round(data.reduce((a, b) => a + b, 0) / data.length * 100) / 100 +
        '%<b>Min Value:</b> ' + Math.round(Math.min.apply(null, data) * 100) / 100 +
        '%<b>Max Value:</b> ' + Math.round(Math.max.apply(null, data) * 100) / 100 + '%]'];
      }

我需要根据图表数据更新图表标题,因为我想要图表标题中的平均值、最大值和最小值。

但看起来图表选项是在数据绑定(bind)到图表之前分配的。数据出来后可以设置标题吗?

最佳答案

很抱歉回复晚了,但在经历了同样的问题并解决之后,我决定无论如何都要发布答案,以便下一个来到此线程的人可以解决它。

问题在于,显然只有对数据和标签进行的更改才会被考虑重新绘制图表。因此,如果您需要更改表的其他方面,您可能需要使用:

this.chart.refresh();

不要忘记引用 View :

@ViewChild(BaseChartDirective) chart;

这将根据您的最新更改重新绘制图表。

关于javascript - ng2-charts:如何在 typescript 中动态设置图表标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51938830/

相关文章:

javascript - 重复/循环 javascript 函数来检查 cookie 是否已更改

angular - Chrome 的 console.log 打印错误的 var 值

javascript - chartjs - 多轴折线图 - 无法读取未定义的属性 'min'

javascript - Angular 2.使用ngFor在对象内部循环数组

javascript - Chart.js 不遵守我的容器尺寸

javascript - chart.js v2 设置 y 刻度选项似乎被忽略了

javascript - AngularJS 中的链式 Promis

javascript - 模型销毁成功回调不起作用

javascript - JavaScript 代码赋值中的左侧无效

Angular 2货币管道格式