我有散点图与许多线共享一个x与多个y,它看起来像图表与许多不同颜色的独立线。
考虑带有单点的图表数据,如{x:195年0月0日0年2月:0年3月:0 y 4:0 },由单个阵列中的数千个这样的点组成。
对于chartj,我需要为每行添加每个数据集,并对其进行解析,以确定每行应使用的确切y
const datasets = [];
for (let i = 0; i < yCount; i++) {
datasets.push(
{
data: preparedData,
showLine: true,
borderColor: `${COLORS[i]}`,
fill: false,
borderWidth: 1,
parsing: {
xAxisKey: 'x',
yAxisKey: `y${i}`
}
}
)
}
它是有效的,但是我们在数组的每一项中放入了大量的preparedData
。这极大地影响了性能。有什么解决方案吗?例如,所有数据集的单一真实源?
1条答案
按热度按时间aydmsdu91#
您可以自己解析
preparedData
,而不是让Chart.js解析preparedData
。如果您只解析x
值一次,然后使用Array.map()
将其分配给data.labels
,则会获得轻微的改进,如下所示。然后,您可以从数据对象中检测所有非
x
属性,并将它们Map到datasets
。请看一下下面的可运行代码,看看它是如何工作的。
第一个