Le titre et les étiquettes de l'Axe des

J'ai réussi à créer des étiquettes pour les deux axes X et y. J'ai également réussi à ajouter un titre au graphique. Mon problème est que si je modifie les marges de la représentation graphique, l'étiquette positions se foiré.

Extrait de l'endroit où j'ai modifier les marges du graphique:

    var margin = {top: 60, right: 60, bottom: 60, left:120}  

Extrait de l'endroit où je créer les étiquettes:

    //Create Title 
    svg.append("text")
    .attr("x", w / 2 )
    .attr("y", 0)
    .style("text-anchor", "middle")
    .text("Title of Diagram");

    //Create X axis label   
    svg.append("text")
    .attr("x", w / 2 )
    .attr("y",  h + margin.bottom)
    .style("text-anchor", "middle")
    .text("State");

    //Create Y axis label
    svg.append("text")
    .attr("transform", "rotate(-90)")
    .attr("y", 0-margin.left)
    .attr("x",0 - (h / 2))
    .attr("dy", "1em")
    .style("text-anchor", "middle")
    .text("Revenue");  

JsFiddle:
http://jsfiddle.net/u63T9/

Ici est une autre alternative, que je suis prêt à vivre avec:
Je suis fondamentalement en tirant parti de la balance pour trouver un de coordonnées de base. J'ai ensuite ajouter ou de prendre un peu jusqu'à ce que je suis heureux avec l'emplacement. Cette méthode continue d'ailleurs avec les changements dans les marges.

    //Create title 
    svg.append("text")
    .attr("x", w / 2 )
    .attr("y",  yScale(d3.max(input, function(d) { return d.CustomerCount; })) - 20 )
    .style("text-anchor", "middle")
    .text("Title of Graph");

    //Create X axis label   
    svg.append("text")
    .attr("x", w / 2 )
    .attr("y",  yScale(0) + 40 )
    .style("text-anchor", "middle")
    .text("State");

    //Create Y axis label
    svg.append("text")
    .attr("transform", "rotate(-90)")
    .attr("y", xScale(0) - 80 )
    .attr("x",0 - (h / 2))
    .attr("dy", "1em")
    .style("text-anchor", "middle")
    .text("Revenue"); 
Il n'y a pas vraiment quelque chose que vous pouvez faire à ce sujet à l'exception de calculer l'espace les étiquettes de besoin et assurez-vous que les marges sont au moins aussi grand.
Solution ici d3noob.org/2012/12/adding-axis-labels-to-d3js-graph.html. Vous pouvez télécharger le PDF "D3 trucs et Astuces" pour gratuit ici: leanpub.com/D3-Tips-and-Tricks.

OriginalL'auteur DataByDavid | 2013-01-30