chartjs 饼图图例的每个标签都在一个新行上
Posted
技术标签:
【中文标题】chartjs 饼图图例的每个标签都在一个新行上【英文标题】:Each label of the chartjs pie chart's legend on a new line 【发布时间】:2017-11-06 03:59:04 【问题描述】:我有一个使用 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'
);
我想确定将图例标签放在左上角位置的最佳方式,每个标签都将在新行上:
最简单的方法是什么?是否可以开箱即用地做到这一点?
阅读文档后,我发现generatelabels 函数可以生成一个图例,我们可以使用该图例并将其分配给 DOM 元素并进行样式化等...但在我看来,这是一种困难的方式,我相信比较容易。
【问题讨论】:
你有没有找到一个干净的解决方案来解决这个问题? 我需要实现同样的事情,在生成函数中将 \n 附加到文本不起作用。你是怎么解决的? 【参考方案1】:在官方提供更好的支持之前,这是一个 hack,但令人满意且便宜。只需附加一长串空格,例如。 " "
到每个标签字符串的末尾。
这应该成功地强制标签被格式化为每行一个。理想情况下,这应该与align: 'start'
(v2.9+) 一起使用
【讨论】:
以上是关于chartjs 饼图图例的每个标签都在一个新行上的主要内容,如果未能解决你的问题,请参考以下文章