gpt4 book ai didi

javascript - 在 React-Chartjs-2 框的圆环图中添加文本以使用react

转载 作者:行者123 更新时间:2023-11-30 09:19:01 24 4
gpt4 key购买 nike

我创建了一个 donut chart ,它工作正常,但现在我需要在它的中心显示数字 45,例如。

要显示的文字和坐标应该在哪里标明?在图表的选项中?

我正在使用 React 组件

class DoughnutChart extends React.Component {

render() {
const data = {
datasets: [{
data: [],
backgroundColor: [
'#999',
'#eee'
]
}],
text: '45'
};
return (
<Doughnut data={data} />
);
}
};

export default DoughnutChart;

编辑

我找到了这个插件,但我找不到它如何应用于 react 组件

//Plugin for center text
Chart.pluginService.register({
beforeDraw: function(chart) {
var width = chart.chart.width,
height = chart.chart.height,
ctx = chart.chart.ctx;
ctx.restore();
var fontSize = (height / 160).toFixed(2);
ctx.font = fontSize + "em sans-serif";
ctx.textBaseline = "top";
var text = "Foo-bar",
textX = Math.round((width - ctx.measureText(text).width) / 2),
textY = height / 2;
ctx.fillText(text, textX, textY);
ctx.save();
}
});

感谢您的帮助。

最佳答案

我试过了,成功了

import { Doughnut } from "react-chartjs-2";

function DoughnutChart() {

const data = {...}

const options = {...}

const plugins = [{
beforeDraw: function(chart) {
var width = chart.width,
height = chart.height,
ctx = chart.ctx;
ctx.restore();
var fontSize = (height / 160).toFixed(2);
ctx.font = fontSize + "em sans-serif";
ctx.textBaseline = "top";
var text = "Foo-bar",
textX = Math.round((width - ctx.measureText(text).width) / 2),
textY = height / 2;
ctx.fillText(text, textX, textY);
ctx.save();
}
}]



return (

<Doughnut
type="doughnut"
data={data}
options{options}
plugins={plugins}
/>
);
}

export default DoughnutChart;

关于javascript - 在 React-Chartjs-2 框的圆环图中添加文本以使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53068562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com