2011-09-21 15 views
6

Je travaille sur la génération de graphiques interactifs. Jusqu'à présent, j'ai commencé avec un graphique à points que je génère à partir de SVG.Ajouter un attribut personnalisé à un bord SVG point en utilisant jQuery

Je voudrais ajouter des classes personnalisées au bord afin qu'il soit plus facile pour moi d'ajouter dynamiquement certaines informations avec un script.

Jusqu'ici, je n'ai trouvé qu'un moyen d'ajouter un identifiant personnalisé. Est-il possible d'ajouter aussi une classe personnalisée?

En fait, puisque je vais utiliser jQuery pour sélectionner des attributs, il suffirait d'ajouter un attribut personnalisé à l'élément edge.

Répondre

2

Le guide des points recommande l'utilisation du champ de commentaire pour les données personnalisées. Vous pouvez également utiliser le champ URL.

+4

Je ne pense pas que cela fonctionne. J'ai essayé ceci et le champ de commentaire dans le script de point n'apparaît pas comme un attribut dans l'élément de bord quand un SVG est généré de lui (en utilisant l'option -Tsvg). Avez-vous une idée de la façon dont le champ de commentaire peut être inclus en tant qu'attribut dans les éléments de bord SVG? Je me bats avec le même problème ... – assassin

+0

le champ de commentaire est faux, l'attribut de classe est correct. – CodeFreezr

0

Vous pouvez simplement spécifier un attribut de classe. Par exemple.

digraph ab { 
    a -> b [class="foo"] 
} 
0

Oui, class = "" est la bonne réponse. Le champ de commentaire est incorrect.

Dans l'exemple suivant, vous pouvez voir comment définir une classe pour une arête (foo), pour un noeud (barre) ou même un sous-graphe (sous-foobar). Et ça va encore mieux. Chaque type d'entité est également une classe, donc vous pouvez par exemple. masque tout le cluster ou tous les bords.

digraph simple { 
    c [class="bar"] 

    a -> b [class="foo"] 
    c -> b 

    subgraph cluster_0 { 
     class="sub-foobar"; 
      d 
      e   
    } 
} 

graphviz svg output

graphviz rendering

Questions connexes