我有下面的HTML/JS代码,如下所示,它需要两个列表:
- 标示
- 价值观
并将其转换为折线图,并在点上添加标签:
<div style = "position:relative; bottom:140px; z-index: -2;">
<canvas id="lineChart" width = 600 height = 200></canvas>
<script>
Chart.register(ChartDataLabels);
var ctx = document.getElementById("lineChart").getContext("2d");
var linechart = new Chart(ctx, {
type: "line",
data: {
labels: {{ labels | safe}},
datasets: [
{
label: "Data points",
data: {{ values | safe}},
fill: false,
borderColor: "rgb(75, 192, 192)",
lineTension: 0.5
}
]
},
options: {
responsive: true,
layout: {
padding: {
top: 100
}
},
scales: {
x: {
grid: {
display: false
}
},
y: {
display: false,
}
},
plugins: {
legend: {
display: false
},
datalabels: {
anchor: 'end',
align: 'top',
formatter: Math.round,
font: {
weight: 'bold',
size: 15
}
}
}
}
});
</script>
这是工作正常:
但是,我希望标注前面有'£'
符号,后面有'm'
符号
每次我尝试使用格式化程序函数时,如下所示:
formatter: function(value){
return value + 'm';
或任何其他组合,图表未能返回。我完全困惑为什么。
有什么建议吗?
1条答案
按热度按时间fzsnzjdm1#
下面的
formatter
很适合我。请看一下下面修改后的可运行代码。
第一个
如果您的代码仍然不起作用,可能是某处有语法错误。请尝试打开浏览器的
DevTools
,检查控制台选项卡上是否有任何错误,以帮助您找到问题的根源。