angular - Angular如何在甜甜圈chartjs的每个部分中显示数据
问题描述
如何使用角度在甜甜圈chartjs的每个部分中显示数据我制作了这样的代码但它不起作用
public doughnutChartLabels: string[] = [
'Demo',
'Test',
'Live',
];
public dougnutChartPlugins=[this.doughnutChartLabels];
public doughnutChartLegend=true;
doughnutChartData = [];
public doughnutChartColors: any[] = [
{
backgroundColor: ['#735A84', '#E76412', '#9BC311',],
},
];
public chartLabels: Array<any> = ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'];
public doughnutChartType = 'doughnut';
public doughnutChartOptions: any = {
animation: false,
responsive: true,
maintainAspectRatio: true,
plugins: {
datalabels: {
font: {
weight: 'bold',
size: 19
}
}
}
};
和我这样的html
<canvas baseChart class="chart" [data]="doughnutChartData" [labels]="doughnutChartLabels"
[options]="doughnutChartOptions" [chartType]="doughnutChartType"
[legend]="doughnutChartLegend"
[plugins]="dougnutChartPlugins"
[colors]="doughnutChartColors">
</canvas>
我发现了类似的东西 在这里输入图像描述
但我想要这样的东西 在此处输入图像描述
我需要一些帮助,谢谢 ylu
解决方案
这在 chart.js 中默认是不可能的,所以你需要一个插件,一个很棒的插件是datalabels plugin
Chart.register(ChartDataLabels);
const options = {
type: 'doughnut',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"]
}]
},
options: {
plugins: {
datalabels: {
formatter: (value, ctx) => (ctx.chart.data.labels[ctx.dataIndex]),
color: '#fff',
}
}
}
}
const ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);
<body>
<canvas id="chartJSContainer" width="600" height="400"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>
</body>
推荐阅读
- vue.js - 在 VueJS 中使用第三方组件
- jekyll - 如何按类别对收藏目录进行排序?
- php - php json_encode显示数组中的数字不正确
- javascript - 使用 Node.js 服务器和 Jquery 客户端的简单安全 websocket (wss) 聊天
- python-3.x - 如何以新的方式解决八盖特曼问题?
- bash - 如何比较以“-”分隔的两个字符串,并在它们相同时只使用其中一个?
- python - 从层次结构级别和文本创建 XML 树
- flutter - Flutter - 如何访问文件中 statefulwidget 内的函数,然后在另一个有状态类的单独文件中使用它?
- vb.net - 执行点击方法
- spring-boot - Kubernetes 服务连接被拒绝