javascript - 如何在chart.js中为饼图添加标签

标签 javascript charts

我正在显示饼图。但如何在饼图中显示标签。

下面是饼图的chart.js代码。

this.Pie = function(data, options) {

  chart.Pie.defaults = {
    segmentShowStroke: true,
    segmentStrokeColor: "#fff",
    segmentStrokeWidth: 2,
    animation: true,
    animationSteps: 100,
    animationEasing: "easeOutBounce",
    animateRotate: true,
    animateScale: false,
    onAnimationComplete: null
  };

  var config = (options) ? mergeChartConfig(chart.Pie.defaults, options) : chart.Pie.defaults;

  return new Pie(data, config, context);
};

下面是显示饼图的html文件代码

代码:

var data = [{
  value: 20,
  color: "#637b85"
}, {
  value: 30,
  color: "#2c9c69"
}, {
  value: 40,
  color: "#dbba34"
}, {
  value: 10,
  color: "#c62f29"
}];

var canvas = document.getElementById("hours");
var ctx = canvas.getContext("2d");
new Chart(ctx).Pie(data);

最佳答案

没有必要使用像 newChart 这样的其他库或使用其他人的拉取请求来实现这一点。您所要做的就是定义一个选项对象,并在工具提示中随心所欲地添加标签。

var optionsPie = {
    tooltipTemplate: "<%= label %> - <%= value %>"
}

如果您希望始终显示工具提示,您可以对选项进行一些其他编辑:

 var optionsPie = {
        tooltipEvents: [],
        showTooltips: true,
        onAnimationComplete: function() {
            this.showTooltip(this.segments, true);
        },
        tooltipTemplate: "<%= label %> - <%= value %>"
    }

在数据项中,您必须添加所需的标签属性和值,仅此而已。

data = [
    {
        value: 480000,
        color:"#F7464A",
        highlight: "#FF5A5E",
        label: "Tobacco"
    }
];

现在,您所要做的就是将数据后面的选项对象传递到新 Pie,如下所示:new Chart(ctx).Pie(data,optionsPie) 就完成了。

这可能最适合尺寸不是很小的馅饼。

Pie chart with labels

关于javascript - 如何在chart.js中为饼图添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22524295/

相关文章:

vue.js - 结合使用vue.js和chartist.js来创建跟踪余额进度的图表

javascript - 使用数组数据渲染 Chart.js 气泡图

javascript - 在 dc.js 气泡图上按月绘制日期作为 x 轴

javascript - 是否可以填充chart.js中饼图中给定开始和结束 Angular 之间的特定部分?

javascript - 在 Tablesorter 中,为列过滤器的下拉选项设置不同的值

javascript - 来自 AngularJS 数组的简单折线图

javascript - 如何配置 gulpjs,以便 ngrok 模块可用于为 pagespeed Insight 插件提供 url?

javascript - lodash 中是否有比较两个对象数组,如果结果相同则不会显示

javascript - 如何根据日期显示图像

javascript - React Native 高阶组件问题