3 回答

TA貢獻1808條經(jīng)驗 獲得超4個贊
我在下面嘗試過,并且可以完美地處理任何數(shù)量的數(shù)據(jù)集。
var lastVisible;
var datasetsLength = this._chart.data.datasets.length;
this._chart.data.datasets.map((e,index)=>{
lastVisible=datasetsLength-1;
//to find the depth of datasets and get non-zero value
for(var i=lastVisible;i>0;i--){
if(!this._chart.getDatasetMeta(i).hidden){
if(this._chart.data.datasets[i].data[this._index] != 0){
lastVisible = i;
break;
}
}
}
})

TA貢獻1850條經(jīng)驗 獲得超11個贊
我已經(jīng)更新了您的 Fiddle 唯一行號118
: https ://jsfiddle.net/r7hvn2ox/
從:
if (rounded){
至:
if (rounded || this._chart.data.datasets[1].data[this._index] == 0) {
我知道它對 2 個數(shù)據(jù)集的修復(fù):[{}, {}] 條,但它可以在任何數(shù)據(jù)集的值以及本示例中完美地工作。

TA貢獻1829條經(jīng)驗 獲得超6個贊
rounded如果它呈現(xiàn)特定項目,您可以向變量添加額外的表達式。這不是最好的方法。
var rounded = this._datasetIndex === lastVisible || this._index === 2;
或者,您可以比較每個數(shù)據(jù)集中的值
var cond = false;
if(this._datasetIndex === 0) {
var datasets = this._chart.data.datasets;
var dataset = datasets[this._datasetIndex];
var currentData = dataset.data[this._index];
var nextData = datasets[this._datasetIndex + 1].data[this._index]
cond = currentData !== 0 && nextData === 0;
}
var rounded = this._datasetIndex === lastVisible || cond;
添加回答
舉報