我的 Angular 8 应用程序使用几个图表,这些图表是我使用Cartjs
创建的(使用ng2-charts
(。
对于一个图表,我需要显示每个数据点的数据标签。所以我在项目中添加了chartjs-plugin-datalabels
,导入了插件
import * as DataLabelPlugin from 'chartjs-plugin-datalabels'
将其添加到图表的插件列表中
chartPlugins = [DataLabelPlugin]
并相应地对其进行配置:
plugins: {
datalabels: {
align: "top"
}
}
目前为止,一切都好。一切都按预期工作。除了,我的所有其他图表现在也显示数据标签。他们都没有在插件列表中导入'chartjs-plugin-datalabels'
或引用DataLabelPlugin
。
摆脱标签的唯一方法是显式禁用它们:
plugins: {
datalabels: {
display: false
}
}
但是,当图表甚至没有引用插件时,为什么这是必要的,甚至是可能的呢?
在DataLabelPlugin的文档中是这样写的:
该插件全局注册自身,这意味着一旦导入,所有 图表将显示标签。如果您只想为少数人启用它 图表,您首先需要全局取消注册
编号 : https://chartjs-plugin-datalabels.netlify.app/guide/getting-started.html#integration