如何在饼图中默认显示标签

Char.js - How to show labels by default in pie chart

本文关键字:默认 显示 标签      更新时间:2023-09-26

我想在页面加载时默认显示标签。但是默认的chart.js不会显示任何标签,直到我们将鼠标移到上面。我写的代码如下:

var ctx = document.getElementById("chart-area").getContext("2d");
                    window.myPie = new Chart(ctx).Pie(pieData,{                        
                    animationSteps: 100,
                    animationEasing: 'easeInOutQuart',
                    scaleShowLabels : true                  
                    });

这是我的数据。

var pieData = [
                {
                    value: 100,
                    color:"#F7464A",
                    highlight: "#FF5A5E",
                    label: "New",
                },
                {
                    value: 220,
                    color: "#46BFBD",
                    highlight: "#5AD3D1",
                    label: "In Progress"
                }];

默认显示标签的属性是什么?我无法在chart.js

的文档下找到

实际上这很容易,你只需要重写2个选项属性:

// Draw the tooltips when the animation is completed
onAnimationComplete: function() {
    this.showTooltip(this.segments);
},
// Block the mouse tooltip events so the tooltips
// won't disapear on mouse events
tooltipEvents: []

首先在动画完成时强制绘制工具提示,然后阻塞鼠标事件以覆盖默认行为,因为您不再需要它(此行为仅显示活动的工具提示并隐藏其他行为)

查看我的JSFiddle在这里

添加到pieData ex:

var pieData = [
                {
                    value : 30,
                    color : "#F38630",
                    label : 'Sleep',
                    labelColor : 'white',
                    labelFontSize : '16'
                },
            ...
        ];