chartjs饼图图例的每个标签在新行上

问题描述 投票:5回答:1

我有一个饼图,使用chart.js 2.0。 (jsfiddle

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
  type: 'pie',
  data: {
    labels: ["Green", "Blue", "Gray", "Purple", "Yellow", "Red", "Black"],
    datasets: [{
      backgroundColor: [
        "#2ecc71",
        "#3498db",
        "#95a5a6",
        "#9b59b6",
        "#f1c40f",
        "#e74c3c",
        "#34495e"
      ],
      data: [12, 19, 3, 17, 28, 24, 7],
    }]
  },
  options:  {
    legend: {
      display: true,
      position: 'top'
    }
  }
});

pie chart

我想确定将图例标签放置在左上角的最佳方法,并且每个标签都将在新行上:

pichart-goal

最简单的方法是什么?开箱即用吗?

阅读文档后,我发现generatelabels函数生成了一个图例,我们可以使用该图例并将其分配给DOM元素并进行样式化等。但是在我看来,这是一种困难的方式,我相信更容易。

javascript charts legend pie-chart
1个回答
0
投票

这是一个技巧,但令人满意且便宜。除非正式提供更好的支持。只需添加一长串空格即可。 " "到每个标签字符串的末尾。

这应该成功地强制将标签每行格式化一次。理想情况下,应与align: 'start'(v2.9 +)

一起使用
© www.soinside.com 2019 - 2024. All rights reserved.