我正在用chart.js制作一个图表,我试图弄清楚如何更改标签/图例样式。我想删除矩形部分,而使用圆形。我读到过你可以自定义图例(使用legendCallback),但对于我的生活,我不知道如何做到这一点。这就是我的图表现在的样子-image。
这是我的HTML:
<div class="container">
<canvas id="myChart"></canvas>
</div>
这是我的JS:
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: 'Link One',
data: [1, 2, 3, 2, 1, 1.5, 1],
backgroundColor: [
'#D3E4F3'
],
borderColor: [
'#D3E4F3',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
legend: {
display: true,
position: 'bottom',
labels: {
fontColor: '#333',
}
}
}
});
我对JS一般来说是新手,所以请尽可能具体地回答。非常感谢!
7条答案
按热度按时间j5fpnvbx1#
无需使用
legendCallback
函数。您可以设置usePointStyle = true
将该矩形变为圆形。aiqt4smr2#
对于angular4-chart.js,你可以像这样使用options属性:
ivqmmu1c3#
第一步:
将选项更改为:
第二步:
将以下代码附加到画布(就在画布之后):
第三步:
使用以下命令生成此图例而不是默认图例(就在mychart之后):
第四步:
让css生成一个圆:
第五步:
改变css与以往任何时候你觉得应该更好。
现在该吃墨西哥卷饼了
xxe27gdn4#
使用usePointStyle:true
});
rfbsl7qr5#
关于@GRUNT的答案的附加信息我在legend.labels内部分配usePointStyle而不是@GRUNT所做的Chart.defaults.global.legend.labels.usePointStyle = true;
这在使用react时很有用
更多信息Display point style on legend in chart.js
kulphzqa6#
把这个加到你的选项里
例如:
ki1q1bka7#
以上所有的答案都适用于较旧的chart js。对于较新的版本,将图例(和顺便说一句标题)定义放在options.plugins {}中,而不是options {}中。