Soru D3 Bir SVG'nin içinde bir elemanın seçilmesi


D3'te bazı grafikler oluşturmaya çalışıyorum. Şimdiye kadar seviyorum, ama biraz sıkışıp kalıyorum. Veri noktalarını tutmak için bir alan ve eksen ve etiketleri tutmak için bir tane oluşturmak istiyorum. Grafiğin daha verimli bir şekilde güncellenmesini sağlamak için bundan daha hassas bir şekilde daha iyi gideceğimi düşünüyorum. Ama sahip olduğum konu, SVG içindeki alt öğeleri seçemiyorum.

İşte sahip olduğum şey:

var graph = d3.select('#Graph svg')
if (graph[0][0] == null){
    graph = d3.select('#Graph')
        .append("svg:svg")
        .attr("width",width)
        .attr("height",height)
        .attr("class","chart");
}

graph.append("svg:g")
    .attr("id","data")

Şimdi bu veri kabını seçmek için bir yol bulamadım. denedim

d3.select("#Graph svg data")

Ama şans yok. Herhangi bir fikir?


21
2018-02-17 04:04


Menşei


İle bir şey seçmek istiyorsanız id arasında dataseçiyor olmalısın #Graph svg #data, sağ? - Phrogz


Cevaplar:


Hadi bu kodu deneyelim.

d3.select("#Graph svg").selectAll("g")

"g", svg düğümü altındaki tüm "g" düğümlerini seçmek anlamına gelir.


20
2018-02-17 10:14





Veri konteynerinizi oluştururken appendSeçimi bir değişkene kaydedebilirsiniz.

var dataContainer = graph.append("svg:g")
    .attr("id","data");

Bu şekilde yapılırsa, seçiminizi yapmanız gerekir (1. satırda grafikle yaptığınız gibi), çünkü zaten varlığınızda saklanır. dataContainer.


0
2018-01-15 11:24