Kullanıcının farklı veri noktaları arasında seçim yapabilmesini sağlayan jQuery kaydırıcısına sahip d3 kullanılarak oluşturulan bir çörek çizelgem var. Grafik, veri değerleri arasındaki geçişi canlandırır ve her şey iyi.Pasta (donut) grafik segmenti siparişi D3
Sorun: Segmentler, her zaman saat yönünün tersine boyut sırasına göre işlenir (en büyüğünden en küçüğüne). Bu, segmentlerin boyutlarına bağlı olarak pozisyonlarını grafik etrafında değiştirdiği anlamına gelir.
Bu davranış kullanıcılar için kafa karıştırıcı, ancak ne yazık ki nasıl değiştirileceğini öğrenemiyorum. Segmentlerin başlangıç pozisyonlarında kalmasını isterim.
çalışma js-keman: http://jsfiddle.net/kerplunk/Q3dhh/
Sorunun gerçek tweening yapar işlevinde yer almalıdır inanıyorum:
// Interpolate the arcs in data space.
function pieTween(d, i) {
var s0;
var e0;
if(oldPieData[i]){
s0 = oldPieData[i].startAngle;
e0 = oldPieData[i].endAngle;
} else if (!(oldPieData[i]) && oldPieData[i-1]) {
s0 = oldPieData[i-1].endAngle;
e0 = oldPieData[i-1].endAngle;
} else if(!(oldPieData[i-1]) && oldPieData.length > 0){
s0 = oldPieData[oldPieData.length-1].endAngle;
e0 = oldPieData[oldPieData.length-1].endAngle;
} else {
s0 = 0;
e0 = 0;
}
var i = d3.interpolate({startAngle: s0, endAngle: e0}, {startAngle: d.startAngle, endAngle: d.endAngle});
return function(t) {
var b = i(t);
return arc(b);
};
}
Bu harika çalışıyor! Çok teşekkür ederim. Bu, onu bulmam gereken bir yerde mi belgelendi? Baktım (dürüst) :) – Kerplunk
“pie.sort” altında pasta düzeni için dokümanlar var. Url, https://github.com/mbostock/d3/wiki/Pie-Layout şeklindedir. – ckersch
Bu cevabın biraz yönünü değiştiren değer maddelerini buldum - ckersch, son bit, ".sort (null)" ifadesini kapattığını söylüyor. Sadece ihtiyacım olan – dumbledad