Maison > interface Web > tutoriel CSS > Comment envelopper du texte dans des arborescences D3 pour un attrait visuel amélioré ?

Comment envelopper du texte dans des arborescences D3 pour un attrait visuel amélioré ?

Linda Hamilton
Libérer: 2024-10-25 14:09:02
original
299 Les gens l'ont consulté

How to Wrap Text in D3 Tree Diagrams for Improved Visual Appeal?

Envelopper le texte dans D3

Défi

Pour améliorer l'attrait visuel d'un diagramme en arbre D3, il est souhaitable d'envelopper le texte de manière à ce qu'il s'adapte parfaitement dans l’espace disponible. Considérons le texte suivant :

Foo is not a long word
Copier après la connexion

Nous cherchons à envelopper ce texte comme suit :

Foo is
not a
long word
Copier après la connexion

Solution

La clé pour envelopper le texte dans D3 réside dans l'utilisation du élément dans l'élément élément. permet la création de plusieurs lignes de texte dans un seul node.

Pour ce faire, nous modifions l'exemple « Wrapping Long Labels » de Mike Bostock et introduisons deux changements clés :

  1. Définissez une fonction wrap : Cette fonction prend du texte et une largeur maximale comme arguments et insère éléments pour envelopper le texte en conséquence.
function wrap(text, width) {
    // Implement text wrapping logic...
}
Copier après la connexion
  1. Utiliser le wrap dans le code : Au lieu de définir directement le texte de chaque nœud, nous appelons la fonction wrap sur l'élément de texte de chaque nœud.
// Add entering nodes with wrapped text.
node.enter().append("text")
    .attr("class", "node")
    .attr("x", function (d) { return d.parent.px; })
    .attr("y", function (d) { return d.parent.py; })
    .text("Foo is not a long word")
    .call(wrap, 30);
Copier après la connexion

Cette approche garantit que le texte à l'intérieur de chaque nœud est enveloppé pour s'adapter à une largeur maximale spécifiée, améliorant ainsi la présentation visuelle de l'arborescence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal