Плагин аннотаций ChartJS либо выдает ошибку консоли, либо вообще не отображается на графике

#javascript #angular #typescript #chart.js #chartjs-plugin-annotation

Вопрос:

Я пытаюсь использовать плагин аннотаций ChartJS версии 0.5.7 в приложении Angular 8. Однако, в зависимости от того, где я добавляю логику, я либо получаю ошибку в консоли (но аннотации отображаются на графике так, как ожидалось), либо ошибки в консоли нет (но аннотации вообще не отображаются на графике).

Вот код, который выдает ошибку в консоли (но также создает ожидаемую аннотацию на диаграмме):

 let annotation = [];  annotation.push({  drawTime: 'beforeDatasetsDraw',  type: 'box',  xMin: i - 1, //index   1,  xMax: i   1, //index   5,  yMin: this.yValues.reduce((a, b) =gt; Math.min(a, b)).toString(),  yMax: this.yValues.reduce((a, b) =gt; Math.max(a, b)).toString(),  // ID of the X scale to bind onto  xScaleID: 'x-axis-0',   // ID of the Y scale to bind onto  yScaleID: 'y-axis-0',  backgroundColor: 'rgba(101, 33, 171, 0.15)',  borderColor: 'rgba(101, 33, 171, 0.5)',  borderWidth: 2,  });  let namedChartAnnotation = ChartAnnotation; Chart.pluginService.register(namedChartAnnotation);  return new Chart('histogram'   number, {  type: 'bar',  data: {  labels: this.xValues,  datasets: [  {  label: 'Number of alerts',  data: this.yValues,  },  ],  },  options: {  annotation: {  annotations: annotation,  }  } });  

Мое сообщение об ошибке выглядит следующим образом:

 Type '{ legendCallback: (chart: import("c:/Sensitivity/anomalydetection-ui/node_modules/@types/chart.js/index.d.ts")) =gt; string; legend: { display: false; }; tooltips: { enabled: true; titleFontSize: number; titleFontStyle: string; bodyFontSize: number; titleMarginBottom: number; callbacks: { ...; }; }; annotation: { ...;...' is not assignable to type 'ChartOptions'.  Object literal may only specify known properties, but 'annotation' does not exist in type 'ChartOptions'. Did you mean to write 'rotation'?ts(2322) index.d.ts(279, 9): The expected type comes from property 'options' which is declared here on type 'ChartConfiguration'  

Однако, если я перемещу свой код в plugins: , я не получу ошибки консоли, но аннотации больше не отображаются для меня:

 .... options: {  plugins: {  annotation: {  annotations: annotation,  },  } }  

Может ли кто-нибудь объяснить мне, как я могу устранить сообщение об ошибке и по-прежнему отображать аннотации?