2016-10-14 6 views
0

私はドーナツ(プログラムでドーナツデータを編集する)を同じようにしようとしていますが、ここでは構文がスムーズに見えますが、Highcharts.jsのドーナツデータをプログラムで編集するJS

私の目標は、与えられたx軸の値に対応するドーナツのデータポイントを見つけて、値を10に設定することです。

はここで分類されたデータのための自然なマッピングがある(x値が数値であるため、名前が文字列である、実際には、あなたがその名前ではなく、そのxの値によってポイントを探しているJSFIddle

btnEdit.click(function() { 
    // chart.series[0].data[0].update(x += 10); - this code doesn't work 
    var x = prompt("Please enter your name"); 
    // find the data point that corresponds to x 
    // Set it to 10 
    }); 

答えて

1

ですそれらの2人の間)。

btnEdit.click(function() { 
// chart.series[0].data[0].update(x += 10); - this code doesn't work 
var i = 0, 
    points = chart.series[0].data, 
    len = points.length, 
    x = prompt("Please enter your name"), 
    point; 

for (; i < len; i++) { 
    point = points[i]; 
    if (point.name === x) { 
     point.update({ 
     y: 10 
     }); 
     break; 
    } 
} 

// find the data point that corresponds to x 
// Set it to 10 
}); 

例: - しかし、それはそのようにする必要はありませんhttp://jsfiddle.net/caLv5d6x/3/

上記のソリューションは、あなたが自分の名前がユニークである点を持っていることを前提としています。 小さな調整が十分である:

btnEdit.click(function() { 
// chart.series[0].data[0].update(x += 10); - this code doesn't work 
    var x = prompt("Please enter your name"); 

chart.series[0].data.forEach(function (point) { 
    if (point.name === x) { 
    point.update({ 
     y: 10 
    }, false, false); 
    } 
}); 

chart.redraw(); 
// find the data point that corresponds to x 
// Set it to 10 
}); 

例:http://jsfiddle.net/caLv5d6x/4/

関連する問題