2017-01-11 3 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 обратного вызова, который суммирует данные, как вы должны были бы в любом случае, а затем заменить текст в тексте заголовка диаграммы, используя пятно d3:

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); 
} 

Edit: Если вы хотите, чтобы следить за общим, как скрыть/показать серия использовать этот

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

вместо

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

чем k вы для этого кода. –

+0

Эй, у меня есть другой вопрос. Как я могу обновить общий счет, если я отключу часть пирога? –

+0

см. Редактировать ответ выше – mgraham

Смежные вопросы