2016-03-08 5 views
3

Я новичок в d3.js, и то, что я достиг до сих пор, составляет this, используя учебные пособия и видео.d3.js: Как добавить значение под меткой в ​​диаграмме пончика

Теперь я пытаюсь добавить dataset.value под текстом этикетки, как показано на рисунке. enter image description here

var dataset = [{ 
    label: 'On trip', 
    value: 35 
}, { 
    label: 'parked', 
    value: 65 
}]; 

Как это достичь?

ответ

3

Вы можете обновить добавить текст кода со следующим кодом.

text.enter() 
.append("text") 
.attr("dy", ".35em") 
.append('svg:tspan') 
.attr('x', 0) 
.attr('dy', 0) 
.text(function(d) { return d.data.label; }) 
.append('svg:tspan') 
.attr('x', 0) 
.attr('dy', 20) 
.text(function(d) { return d.data.value; }); 

Append два tspan к вашему text элементу

Обновлено Fiddle здесь

+0

Спасибо большое ... это сработало. –

2

Вы должны сделать это так:

var text = svg.select(".labels").selectAll("text") 
     .data(pie(data), key); 
    //make a group 
    var textg = text.enter().append("g"); 
    //to the group append text for label 
    textg 
     .append("text") 
     .attr("dy", ".35em") 
     .text(function(d) { 
      return d.data.label; 
     }); 
    //to the group append text for value 
    textg.append("text") 
     .attr("dy", "1.95em") 
     .text(function(d) { return d.data.value; }); 

Рабочий код here

+1

Оба вы дали правильные ответы, это позор, у меня есть только один правильный ответ дать. –

+0

np тот, который вы выбрали, определенно лучший ответ :) – Cyril

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