D3 la Selección de un elemento dentro de un SVG

Estoy tratando de crear gráficos en D3. Hasta el momento encanta, pero me estoy poniendo un poco atascado.
Quiero crear un área para mantener los puntos de datos y la otra para sujetar el eje y etiquetas.
Creo que voy a ir incluso más fino que para que la actualización del gráfico más eficiente. Pero el problema que estoy teniendo es que me parece que no puede seleccionar sub elementos dentro de la SVG.

Aquí es lo que tengo:

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")

Ahora no he encontrado una forma para seleccionar el contenedor de datos. He intentado

d3.select("#Graph svg data")

Pero no hubo suerte. Alguna Idea?

  • Si desea seleccionar algo con un id de data, usted debe seleccionar #Graph svg #data, ¿verdad?
InformationsquelleAutor Dan Walmsley | 2012-02-17

2 Kommentare

  1. 22

    Vamos a tratar este código.

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

    «g» significa para seleccionar todos los nodos «g» bajo svg nodo.

  2. 1

    Al crear el contenedor de datos con append(), puede guardar la selección a una variable.

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

    Si se hace de esta manera, usted no va a necesitar para hacer el d3 selección de nuevo (en forma similar a lo que han hecho con var graph en la 1ª línea de código en tu pregunta), debido a que una referencia a esta selección ya está almacenado en el var dataContainer.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea