2013-01-04 2 views
7

Cerco di scoprire in Graphviz, come rendere un'etichetta "1" colorata e allo stesso tempo un collegamento ipertestuale. È possibile? Si prega di vedere l'esempio qui sotto.hyperlink etichetta Graphviz

F

<graphviz> 

digraph vvv 
{ 
rankdir=LR 
a2 [href="http://www.apple.com"] 
{ 
a0->a1[href="http://www.uk.com"] [label="1"] [color =red]; 
a1->a2 
} 

a2[style=filled,color=yellow] 
a0[style=filled,color=lightgrey] 

</graphviz> 

risposta

10

sì è possibile.

Suppongo che stiate generando l'output SVG.

Se per fare un'etichetta "1" color si intende il colore del carattere del testo dell'etichetta, è semplice come specificandolo nel bordo attributi:

a0->a1[href="http://www.uk.com", fontcolor=yellow, color=red label="1"]; 

fontcolor si riferisce al colore del testo dell'etichetta, mentre color è il colore del bordo stesso.

Se si desidera che un'etichetta di bordo con uno sfondo colorato, fillcolor funzioni. Tuttavia, non lo fa (può dipendere dalla versione di graphviz). Pertanto è possibile utilizzare HTML-like labels e specificare BGCOLOR:

a0->a1[href="http://www.udk.com", fontcolor=red, label=< 
    <TABLE CELLBORDER="0" CELLPADDING="0" CELLSPACING="0" BORDER="0"> 
     <TR><TD BGCOLOR="yellow">1KMK</TD></TR> 
    </TABLE> 
>, color =red]; 
+0

Funziona! Due giorni e notti di lavoro - e un'eccellente risposta di un'ora! Grande! Molte grazie! F – user1948258

+1

Sono contento che aiuti! Dal momento che questa è la tua prima domanda su SO: non dimenticare di upvotare/accettare la risposta. – marapet