Я начал с примера приложения Map по адресу: http://bl.ocks.org/d3noob/raw/5193723/
Я хочу разместить пользовательскую круговую диаграмму, как показано на рисунке ниже. Я создал его, добавив фрагмент кода сразу после создания кругов.
Фрагмент круговой диаграммы:
var r=10;
var p = Math.PI*2;
var arc = d3.svg.arc()
.innerRadius(r-3)
.outerRadius(r)
.startAngle(0)
.endAngle(p* d.value1);
var arc2 = d3.svg.arc()
.innerRadius(r-7)
.outerRadius(r-4)
.startAngle(0)
.endAngle(p* d.value2);
g.append("path")
.attr("d", arc)
.attr("fill", "red")
.attr("transform", "translate(400,500)");
g.append("path")
.attr("d", arc2)
.attr("fill", "orange")
.attr("transform", "translate(400,500)");
Получается красиво, как показано на картинке ниже рядом с Таиландом:
Проблема
- Когда я масштабирую или перемещаю карту, круговая диаграмма исчезает, но круги остаются нетронутыми. Может ли кто-нибудь помочь мне понять это?
- Можно заметить очень грубый способ построения дуг. Ожидается, что круговая диаграмма будет построена для каждого города. Я ищу более чистый способ, как рисуются круги.