【发布时间】:2020-06-15 09:44:25
【问题描述】:
我正在尝试更改 chart.js 中部分折线图的颜色。我关注了这些帖子:
How to change line segment color of a line graph in Chart.js?
和
我接近获得正确的结果,但是,第二行不想从第一行的末尾开始。
这是有问题的代码:
var myChart5 = new Chart(ctx5, {
type: 'line',
data: {
labels: document.getElementById('tag4').textContent == 'ITEMS IN DIFFICULTY' ?
['90 days backward','60 days backward','30 days backward','30 days forward'] :
['90 days backward','60 days backward','30 days backward','30 days forward'],
datasets: [{
labels: labels8,
data: defaultData8,
fill: true,
backgroundColor: ['rgba(54, 162, 235, 0.2)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 1
}, {
label: labels18,
data: defaultData18,
fill: true,
backgroundColor: ['rgba(255, 99, 132, 0.2)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 1
}],
options: {
scales: {
yAxes: [{
scaleLabel: {
display: true,
labelString: 'Quantity Sold'
},
ticks: {
min: 0
}
}]
}
}
}
});
下面是数据的样子:
"labels8": [
"90_days_backward",
"60_days_backward",
"30_days_backward"
],
"default8": [
129259.0,
149651.0,
70699.0
],
"labels18": [
"30_days_backward",
"30_days_forward"
],
"default18": [
70699.0,
109145.6
]
我对如何继续有点困惑,我尝试在第二个数据集中包含“NaN”值以推动它前进,但它不会成功。有人会知道如何解决这个问题吗?
【问题讨论】:
-
您似乎有两个数据集,这意味着图表中有两条线,这是您的意图吗?还是您的意思是扩展现有数据集以获取更多数据。如果不是,那么也许你应该用
null填充第二个数据集,这样它就从另一个数据集的结束处开始。 -
换句话说,您可以尝试类似:
data.default8.forEach(() => { data.default18.unshift(null); }); -
没错,我想让第二个从第一个开始的地方开始,我尝试填充这样的```数据:[NaN,NaN,defaultData8],但它不起作用。在调用之前我无法真正修改数据集。
-
我试试看,这行代码应该放在哪里?
-
在您收到数据之后并将其提供给图表数据集之前。
标签: javascript chart.js