
By default, the chartjs, chart type: Pie or Doughnut, we can have label inside or as legend, see at: https://www.chartjs.org/docs/latest/charts/doughnut.html
To have out-label as above image, will need some challenge as specially with vuejs. The issue as stated in VueChartJS#20, I faced that too.
Plugin
I finally used “chartjs-plugin-piechart-outlabels” plugin and to challenge the issue#20 above and as following.
Install
npm install chartjs-plugin-piechart-outlabels –save
Use it in VueJS Project
import ChartDataOutlabels from 'chartjs-plugin-piechart-outlabels'; Vue.use(ChartDataOutlabels);
ChartJS Component: doughnut-outlabel-graph.vue
import { Doughnut } from 'vue-chartjs'
export default {
extends: Doughnut,
props: ['graph'],
data() {
return {
options: {
responsive: true,
plugins: {
legend: false,
outlabels: {
text: '%l %v (%p)',
color: 'white',
stretch: 40,
font: {
resizable: true,
minSize: 10,
maxSize: 12
}
}
},
layout: {
padding: 135
}
},
};
},
watch:{
graph: {
handler(val){
this.renderChart(this.graph, this.options);
},
deep: true
}
}
}
Use It
