2017-01-11 54 views
1

c3.jsの円グラフに関する質問がありますc3.js円グラフのタイトルの合計数

タイトルに円グラフの合計数を追加するにはどうすればよいですか?

\t \t var title = new Array('data1.sql','data2.sql') 
 
\t \t var dtitle = new Array('title1','title2') 
 
\t \t var chart = new Array('chart0', 'chart1') 
 
\t \t for(var i = 0; i < title.length; i++){ 
 
\t \t \t \t chart[i] = c3.generate({ 
 
\t \t \t \t bindto : '#chart' + i, 
 
\t \t \t \t size: { 
 
\t \t \t   height: 550, 
 
\t \t \t   width: 800 
 
\t \t \t  }, 
 
\t \t \t \t data : { 
 
\t \t \t \t \t url : '/json/sql/data/test/' + title[i], 
 
\t \t \t \t \t mimeType : 'json', 
 
\t \t \t \t \t type : 'donut' 
 
\t \t \t \t }, 
 
\t \t \t \t donut: { 
 
\t \t \t \t \t title: dtitle[i] + ' - Total:' , 
 
\t \t \t \t \t label: { 
 
\t \t \t \t \t \t format: function(value, ratio, id) { 
 
\t \t \t \t \t \t \t return value; 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t } 
 
\t \t \t \t } 
 
\t \t \t }); 
 
\t \t }

答えて

0

ここで厄介なので、この時点で行うことはできませんC3 APIメソッドを使用して、表題のオプション機能を取ることができますが、グラフの変数は、その中に初期化されていないということです。

onrendered: function() { 
    var data = this.api.data(); 
    var total = data.reduce (function (subtotal, t) { 
     return subtotal + t.values.reduce (function (subsubtotal,b) { return subsubtotal + b.value; }, 0); 
    }, 0); 
    d3.select(this.config.bindto + " .c3-chart-arcs-title").text("Total: "+total); 
} 

だから(おそらく唯一の)最良の方法は、あなたがとにかく、その後、D3のスポットを使用してグラフのタイトルテキスト内のテキストを交換する必要があるだろうとしてデータを加算onrenderedコールバックを追加することです

編集:あなたは/ショーのシリーズを隠すように、合計を追跡したい場合は、この

var data = this.api.data.shown.call (this.api); 

代わりの

var data = this.api.data(); 
+0

よりを使用あなたはこのコードのためにあなたをkします。 –

+0

ねえ、別の質問があります。パイの一部を無効にすると、合計カウントをどのように更新できますか? –

+0

上記の回答を編集すると表示されます – mgraham

関連する問題