Ben d3.js. kullanarak görüntüleyeceğim bir veri kümesi var.d3.js kabarcıklarını zorunlu/yerçekimi tabanlı düzenine dönüştürme
xp, yp, colorp ve radiusp gibi tanımlanmıştırvar dot = svg.selectAll("g")
.data(data)
.enter()
.append("g");
dot.append("circle")
.attr("class", "dot")
.attr("cx", function(d) { return xp(x(d)); })
.attr("cy", function(d) { return yp(y(d)); })
.style("fill", function(d) { return colorp(color(d)); })
.attr("r", function(d) { return radiusp(radius(d)*2000000); });
dot.append("text")
.attr("x", function(d) { return xp(x(d)); })
.attr("y", function(d) { return yp(y(d)); })
.text(function(d) { return d.name; })
aşağıdaki gibidir::
var xp = d3.scale.log().domain([300, 1e5]).range([0, width]),
yp = d3.scale.linear().domain([10, 85]).range([height, 0]),
radiusp = d3.scale.sqrt().domain([0, 5e8]).range([0, 40]),
colorp = d3.scale.category10();
Bu noktada, aşağıdaki kabarcıkları için yapılandırma gibi kabarcıklar şeklinde, veri noktalarını temsil am kabarcıklar pozisyonlarında statik olarak (pozisyonun xp ve yp ile tanımlandığı), kabarcık büyüklüğü temelde yarıçaptan geliyor ve renk colorp ile tanımlanıyor.
Şu anda bu örnekte olduğu gibi tam olarak bunları gösteriyorum: http://bl.ocks.org/mbostock/4063269
ben onları bu forma göstermektir gerekenler: http://jsfiddle.net/andycooper/PcjUR/1/
Yani: Yerçekimi fonksiyonu kullanılarak paketlenmeli, biraz şarj olmalı, sürüklenip bir dereceye kadar itilebilirler. Bunu d3.layout.force() 'dan bir yol olduğunu görebiliyorum ama bunu gerçekten buna entegre edemedim. Bana doğru yolu ya da bazı çalışma örneklerini ve hatta ipuçlarını önerebilirseniz gerçekten minnettar olacağım. Teşekkür ederim.
Henüz cevap yok mu? – user2480542
'd3.layout.force()' ile bağlantı kurarken karşılaştığınız sorun nedir? – user568109
Sorun şu ki d3.layout.force() otomatik olarak cx ve cy koordinatlarını tanımlar ve tam olarak nasıl yaklaşılacağını ve uygulanacağını tam olarak anlayamıyorum. Kabarcıkların konumlandırılmasını zorlayan xp ve yp değişkenlerini kaldırsam bile, bunu başaramıyorum. İlk olarak, bu kabarcıklar için zorunlu düzeni uygulamaya çalıştım ama bunun için başarısız oldu. : -/ – user2480542