我的注释设置为:
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]}
/>这使:

问题:
我无法得到框注释来填充正确的空间,它只是填充了所有的空间。我在两个轴上都尝试过不同的min/max值,但是没有区别。
您将看到,我必须以一种奇怪的方式设置drawTime和类型,否则,如果我正常设置它们,则会得到以下类型错误:
属性“类型”的
类型是不兼容的。输入“string”不能指定键入“box”。重载2中的2,‘(道具: LinearComponentProps,上下文?:any):Bar',给出了以下错误。
我不知道我做错了什么,或者为什么它会抛出类型错误。
我正在使用:
"@types/chartjs-plugin-annotation": "^0.5.1",
"chartjs-plugin-annotation": "^0.5.7",
"chart.js": "^2.9.3",发布于 2020-10-12 07:07:55
答案是格式化y轴的刻度和标签,以使用相同的格式。
通过github票证解决:
https://github.com/chartjs/chartjs-plugin-annotation/issues/228
https://stackoverflow.com/questions/64246596
复制相似问题