我用chartjs做了一个piechart。然后我用chart-js插件在每个饼上添加了一个标签。有时,饼的背景有点浅,所以我的白色文本不够明显。我做了一个函数,在这种情况下检查对比度并将其着色为黑色。
但是当应用到chartjs-plugin的label color属性时,该函数只运行一次,并为所有标签保持相同的颜色。如何根据其背景为每个标签应用不同的颜色?
代码如下:
plugins: {
datalabels: {
color: function(ctx: any) {
[...Array(ctx.dataset.data.length)].map((_, i) => {
return transformColor(ctx.dataset.backgroundColor[i]);
});
},
字符集
谢谢你,谢谢
编辑:
下面是我当前的piechart的渲染:x1c 0d1x
2条答案
按热度按时间eni9jsuy1#
您需要在
Pie
Chart中提供backgroundColor: []
作为背景颜色。下面是完整的示例:字符集
xqkwcwgp2#
我知道这是为时已晚的回应,但这是我得到的。你需要返回的颜色数组,以及不是一个单一的颜色字符串
字符集
我使用拆分字符串方法的原因是因为我使用了一个随机颜色生成器,它为每个弧的backgoundColor返回“rgb()”中的值,
型