1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <title>D3.js サンプル</title> <link rel= "stylesheet" href= "css/main.css" > </head> <body> <h1>D3.jsサンプル</h1> <button id= "btn" >1ヶ所ずつデータを更新</button> <div id= "result" ></div> <script src= "js/sample.js" ></script> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | var dataList = [10, 50, 60, 30, 25]; // データを新たに生成する var obj = d3.select( "#result" ).selectAll( "p" ) .data(dataList) .enter() .append( "p" ) .text( function (d){ return d; }); // ボタンクリックで処理する d3.select( "#btn" ).on( "click" , function (){ // 1ヶ所だけデータを変更する var ptr = Math.floor(Math.random()*dataList.length); var n = Math.floor(Math.random()* 100); dataList[ptr] = n; // 配列内に配列要素値を入れる // データを更新 (update) obj.data(dataList) .text( function (d){ return d; }) // 内容を書き換える .transition() .style( "color" , function (d, i){ if (i === ptr){ // 更新された箇所か調べる return "red" ; // 更新時は赤色にする } else { return "black" ; // そうでない場合は黒色にsる } }) }); |