web-dev-qa-db-fra.com

Pouvez-vous insérer un saut de ligne dans le texte lorsque vous utilisez d3.js?

Je cherche un moyen d'utiliser un saut de ligne dans un élément de texte d'info-bulle en utilisant d3.js.

.text("test" +  "</br>" + "test")

Ce qui précède, et d'autres efforts similaires, ne semblent pas fonctionner.

Il y a un fil ici qui semble y répondre:

https://groups.google.com/forum/?fromgroups=#!topic/d3-js/GgFTf24ltjc

mais la solution n'est pas très claire. Comment le .html serait-il utilisé dans la situation ci-dessus?

.text (.html ("test" + "" + "test"))

n'a pas fonctionné?

Merci

42
Dan Harrington

Puisque vous savez déjà où vous souhaitez rompre le texte, vous pouvez envisager d'ajouter simplement des éléments distincts.

.append("text")
  .attr("dy", "0em")
  .text("line 1")   // "line 1" or whatever value you want to add here.

Et puis pour la deuxième ligne, il suffit d'ajouter un décalage

.append("text")
  .attr("dy", "1em") // you can vary how far apart it shows up
  .text("line 2")   // "line 2" or whatever value you want to add here.
15
lsu_guy

Mieux vaut utiliser 'tspan' pour la ligne 1 et la ligne 2 avec l'attribut dy = 0em et dy = 1.2em

1
Madhukar Anand