2014-12-16 3 views
3

Я пытаюсь избавиться от внешнего круга пузырьковой диаграммы. Но на самом деле теперь я нахожусь на своем умном конце ... Кажется, в Интернете есть несколько обучающих онлайн о том, как построить график пузырьков с использованием данных csv. Пожалуйста, проверьте мой рабочий PLUNK и помогите мне.Как удалить внешний круг в диаграмме пузырьков D3

шлепнуть: http://plnkr.co/edit/87WLm3OmK1jRtcq8p96u?p=preview

d3.csv("count_s.csv", function(csvData) { 
var years = [2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014]; 
pack.value(function(d) { 
    return +d["count" + years[i]]; 
}); 

var data = { 
    name: "city", 
    children: csvData 
}; 


var node = svg1.selectAll("g.node") 
    .data(pack.nodes(data), function(d) { 
    return d.city; 
    }); 
+0

Ссылка не работает. –

+0

Кажется, что в настоящее время sth идет не так с сервером Plunker. Не могли бы вы позже проверить ссылку? Спасибо! – Emily

+0

Что-то вроде [этого] (http://bl.ocks.org/mbostock/4063269)? –

ответ

2

Код отвечает за создание круга в вашем примере это (файл bubble.js, строки 63-70):

//Add the Circles 
var circles = nodeEnter.append("circle") 
    .attr("r", function(d) { 
    return d.r; 
    }) 
    .style("fill", function(d) { 
    return color1(d.city); 
    }); 

Все, что вам нужно сделать, это поставить линию

.filter(function(d){ return d.parent; }) 

перед вызовом в append(), например:

//Add the Circles 
var circles = nodeEnter 
    .filter(function(d){ return d.parent; }) 
    .append("circle") 
    .attr("r", function(d) { 
    return d.r; 
    }) 
    .style("fill", function(d) { 
    return color1(d.city); 
    }); 

и вы получите:

enter image description here

Объяснение решения заключается в том, что добавляется строка просто исключает любой круг, который не имеет родителя (который на самом деле только внешний круг) из рендеринг.

Модифицированный планшет here.

ПРИМЕЧАНИЕ. Текст в середине внешнего круга все еще отображается. Если вы этого не хотите, вы можете применять аналогичные решения для кода, как и для самого круга.

+0

Большое вам спасибо, VividD !!! – Emily

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