Javascript 如何在Chart.js中忽略具有相同值的点
我有一个使用chart.js的图表,它运行良好,只是我希望图表在y值相同时绘制一条直线。例如,在下图中,我有一些数据,其中有数百个连续的y值为1。我想要的不是图表为每个连续的y值1呈现一个点,而是一条直线。我已经阅读了所有选项的文档,但没有找到适合我需要的选项。有人有什么想法吗 代码:Javascript 如何在Chart.js中忽略具有相同值的点,javascript,chart.js,Javascript,Chart.js,我有一个使用chart.js的图表,它运行良好,只是我希望图表在y值相同时绘制一条直线。例如,在下图中,我有一些数据,其中有数百个连续的y值为1。我想要的不是图表为每个连续的y值1呈现一个点,而是一条直线。我已经阅读了所有选项的文档,但没有找到适合我需要的选项。有人有什么想法吗 代码: 提前感谢您的帮助首先,使用以下功能对数据进行因子分析: function factorData(data) { let _data = data.map((e, i, a) => { l
提前感谢您的帮助首先,使用以下功能对数据进行因子分析:
function factorData(data) {
let _data = data.map((e, i, a) => {
let prev = a[i - 1];
let next = a[i + 1];
if (e === prev && e === next) return '' + e;
return e;
}).map(e => typeof e === 'string' ? null : e);
return _data;
}
然后,将数据集的spanGaps
属性设置为true
,如下所示:
...
datasets: [{
data: factorData(eventCounts),
spanGaps: true
...
见a.改进ᴜɴᴛ'答案 要将性能提高2倍,请执行以下操作: (不在数组上重复第二次) 也别忘了
如果您查看图像,一行中有数百个值为1。我只想在y值改变时显示点
...
datasets: [{
data: factorData(eventCounts),
spanGaps: true
...
function factorData(data) {
return data.map((e, i, a) => {
let prev = a[i - 1];
let next = a[i + 1];
if (e === prev && e === next) return null;
return e;
});
}
...
datasets: [{
data: factorData(eventCounts),
spanGaps: true
...