文本对齐点标签Chart.js

z2acfund  于 2022-11-06  发布在  Chart.js
关注(0)|答案(1)|浏览(178)

我一直在试验雷达图的多行pointlabel(非常长的标签)。
创建多行点标签时,标签中的文本将根据雷达图的侧边左/右/居中对齐。
我搜索了一下,发现datalabel插件https://chartjs-plugin-datalabels.netlify.app/guide/formatting.html#multiline-labels支持textAlign,但是没有如何应用这个的例子。
是否有办法将所有标签中的文本居中对齐?
第一个

xqk2d5yq

xqk2d5yq1#

没有定义点标签的文本对齐的选项,textAlign是根据radialLinear.js中的函数getTextAlignForAngle计算的Angular 。
但是,您可以在图表生成后使用插件核心API覆盖textAlign。该API提供了不同的挂钩,可用于执行自定义代码。例如,afterLayout挂钩可按如下方式使用。

afterLayout: chart => {
  chart.getDatasetMeta(0).rScale._pointLabelItems.forEach(o => o.textAlign = 'center');      
}

请看一下下面修改后的代码,看看它是如何工作的。
第一个

相关问题