0

我的注释设置为:

annotation: {
  events: ["onClick"],
  annotations: [{
    drawTime: "afterDraw" as "afterDraw",
    type: "box" as "box",
    xMin: "2 Sep",
    xMax: "4 Sep",
    yMin: 0,
    yMax: 50,
    backgroundColor: "green",
    borderColor: "red",
    borderWidth: 1,
    onClick: function (e: any) {
    //do something...
    },
  },],
},

我使用以下方法初始化条形图:

<Bar
  data={data}
  height={height}
  options={options}
  plugins={[ChartAnnotation]}
 />

呈现:

截图 2020-10-05 at 16 23 03

问题:

我无法让框注释填充正确的空间,它只是填充了所有空间。我已经为两个轴上的最小值/最大值尝试了不同的值,但这没有区别。

您会看到我必须以一种奇怪的方式设置drawTime类型,否则如果我正常设置它们,我会收到以下类型错误:

属性“类型”的类型不兼容。类型 'string' 不能分配给类型 '"box"'。Overload 2 of 2, '(props: LinearComponentProps, context?: any): Bar',给出了以下错误。

我不确定我做错了什么,或者为什么它会抛出类型错误。

我在用:

"@types/chartjs-plugin-annotation": "^0.5.1",
"chartjs-plugin-annotation": "^0.5.7",
"chart.js": "^2.9.3",
4

1 回答 1

0

答案是将 y 轴的刻度和标签格式化为使用相同的格式。

通过github票解决:

https://github.com/chartjs/chartjs-plugin-annotation/issues/228

于 2020-10-12T07:07:55.580 回答