如何解决无法使用Vue-Chartjs或任何其他插件触发beforeDraw
我正在尝试将自定义文本添加到Chartjs图表中(使用vue-chartjs),到目前为止,我发现我需要通过beforeDraw(或类似的插件)来执行此操作。我将插件包含在options.plugins中,但是没有被触发。
我在做什么错?这是代码
queue3
解决方法
可以选择通过Chart.plugins.register
在全球范围内注册插件。您可以注册Plugin Core API提供的任何挂钩,并提供您的自定义代码。例如,afterDraw
钩子必须进行如下注册:
Chart.plugins.register({
afterDraw: chart => {
// your code
}
});
,
mounted () {
this.addPlugin({
id: 'my-plugin',afterDraw: function (chart) {
var ctx = chart.ctx;
ctx.font = "bold 20px FiraGO";
ctx.fillStyle = "red";
ctx.textAlign = "center";
ctx.fillText("ლიბერალური",chart.width/2,chart.height - 25);
ctx.font = "bold 20px FiraGO";
ctx.fillStyle = "red";
ctx.textAlign = "center";
ctx.fillText("ავტორიტარული",25);
ctx.font = "bold 20px FiraGO";
ctx.fillStyle = "red";
ctx.textAlign = "center";
ctx.rotate(Math.PI/2);
ctx.fillText("გეგმიური ეკონომიკა",chart.width/(-2),25);
// ctx.save();
ctx.fillText("თავისუფალი ეკონომიკა",chart.height - 25);
// ctx.save();
// ctx.rotate(Math.PI/(-2))
// ctx.save();
}
});
this.renderChart(this.chartdata,{
scales: {
xAxes: [{
ticks: {
max: 100,min: -100
},type: 'linear',}],yAxes: [{
display: true,ticks: {
max: 100,min: -100
}
}]
},elements: {
point: {
pointStyle: 'circle',radius: 16,backgroundColor: "#dc005a"
}
},layout: {
padding: {
left: 50,right: 50,top: 50,bottom: 50
}
},});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。