我一直在试验雷达图的多行pointlabel(非常长的标签)。创建多行点标签时,标签中的文本将根据雷达图的侧边左/右/居中对齐。我搜索了一下,发现datalabel插件https://chartjs-plugin-datalabels.netlify.app/guide/formatting.html#multiline-labels支持textAlign,但是没有如何应用这个的例子。是否有办法将所有标签中的文本居中对齐?第一个
textAlign
xqk2d5yq1#
没有定义点标签的文本对齐的选项,textAlign是根据radialLinear.js中的函数getTextAlignForAngle计算的Angular 。但是,您可以在图表生成后使用插件核心API覆盖textAlign。该API提供了不同的挂钩,可用于执行自定义代码。例如,afterLayout挂钩可按如下方式使用。
radialLinear.js
getTextAlignForAngle
afterLayout
afterLayout: chart => { chart.getDatasetMeta(0).rScale._pointLabelItems.forEach(o => o.textAlign = 'center'); }
请看一下下面修改后的代码,看看它是如何工作的。第一个
1条答案
按热度按时间xqk2d5yq1#
没有定义点标签的文本对齐的选项,
textAlign
是根据radialLinear.js
中的函数getTextAlignForAngle
计算的Angular 。但是,您可以在图表生成后使用插件核心API覆盖
textAlign
。该API提供了不同的挂钩,可用于执行自定义代码。例如,afterLayout
挂钩可按如下方式使用。请看一下下面修改后的代码,看看它是如何工作的。
第一个