Yul*_*ian 3 javascript linechart chart.js
我想更改 Chart.js 中折线图上特定点的大小。我在这个答案中看到了如何更改点的颜色,但我找不到更改其大小的解决方案。有任何想法吗?
// dataArray and labelsArray are hard-coded arrays of int values.
var lineChartData = {
datasets: [{
data: dataArray,
pointStrokeColor: "#fff",
fillColor: "rgba(220,220,220,0.5)",
pointColor: "rgba(220,220,220,1)",
strokeColor: "rgba(220,220,220,1)"
}],
labels: labelsArray
};
// Changing color of point #5
myLineChart.datasets[0].points[4].fillColor = "#FF0000";
// Changing point's size
// TODO:
Run Code Online (Sandbox Code Playgroud)
小智 5
迟到的答复。但这对于正在寻找这个的人会有帮助。
在 Chart.js 中设置折线图中不同点大小的代码。
var speedCanvas = document.getElementById("speedChart");
var pointRadius=[];
var dataFirst = {
label: "Car A - Speed (mph)",
data: [10, 59, 75, 25, 20, 65, 40],
lineTension: 0.3,
fill: false,
borderColor: 'red',
backgroundColor: 'transparent',
pointBackgroundColor: 'green',
pointBorderColor:'green',
pointRadius: pointRadius
};
var speedData = {
labels: ["0s", "10s", "20s", "30s", "40s", "50s", "60s"],
datasets: [dataFirst]
};
var chartOptions = {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 80,
fontColor: 'black'
}
}
};
var lineChart = new Chart(speedCanvas, {
type: 'line',
data: speedData,
options: chartOptions
});
for(var i=0;i<this.lineChart.data.datasets[0].data.length;i++){
pointRadius.push(i);
}
lineChart.update();Run Code Online (Sandbox Code Playgroud)
下面的代码是设置点大小。
for(var i=0;i<this.lineChart.data.datasets[0].data.length;i++){
pointRadius.push(i);
}
lineChart.update();Run Code Online (Sandbox Code Playgroud)
此方法适用于最新版本的 ChartJS
运行 CodePen 示例 : CodePen 示例