j'écris d3.js pour générer de nombreux tableaux et graphiques .. mais quand il n'y a pas de données j'ajoute juste un texte svg et écrit "pas de données à afficher" et assigner des attributs comme xy dy etc .. de même taille de police mais sauf la taille de la police, tout fonctionne.
pourquoi? voici mon code
var svg = d3.select(selector).append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
if (!data.IssueTrendsDAO.issueTrendList) {
svg.append("text")
.attr("font-size","34px")
.attr("y", 79)
.attr("x", 40)
.attr("dy", ".47em")
.style("text-anchor", "start")
.style("fill", "#004669")
.style("font-weight", "bold")
.text("No data to display");
}
Je pense que vous trouverez que cela fonctionne si vous attribuez une taille de police en tant que style plutôt qu'en tant qu'attribut.
.style("font-size", "34px")
(mieux encore, attribuez un attribut id ou class et définissez tous vos styles en CSS)