2013-07-20 5 views
10

Ho il seguente esempio di punto. Vorrei dare alla prima sezione di ogni record (il nome della tabella) uno sfondo diverso e un colore di primo piano. Non riesco a trovare alcun esempio su come farlo per un record. Fondamentalmente voglio che il nome della tabella nel diagramma dello schema di query sql risulti chiaro. Qualcuno può aiutare?Punto grafico: come modificare il colore di un record in forma multi-record

digraph G { 
    rankdir=LR; 
    node [shape=record]; 
    corpus_language [label="corpus_language|<id> id\len\l|<name> name\lEnglist\l|<sentence_count> sentence_count\l1027686\l"]; 
    corpus_sentence [label="corpus_sentence|<id> id\l1241798\l|<text> text\lBaseball is a sport\l|<creator_id> creator_id\l10859\l|<created_on> created_on\l2006-11-14 17:58:09.303128\l|<language_id> language_id\len\l|<activity_id> activity_id\l11\l|<score> score\l124\l"]; 
    corpus_language:id -> corpus_sentence:language_id [arrowhead=normal label=language_id]; 
} 
+0

possibile duplicato di [Graphviz: Colore solo un campo in un nodo di documenti basati] (http://stackoverflow.com/questions/9009683/graphviz-color-only-a-field -in-a-basato su record-node) – Izzy

risposta

15

Sono quasi sicuro che non è possibile. Invece dovresti usare etichette in stile HTML, che sono una forma più sviluppata di nodi record. Puoi definire il tuo nodo usando il tag <table> e impostare il colore usando bgcolor="your_color". Un elenco di colori disponibili è disponibile qui: http://www.graphviz.org/doc/info/colors.html (È anche un modo RGBA di farlo, come descritto qui: http://www.graphviz.org/doc/info/attrs.html#k:color)

Con le etichette HTML, il tuo esempio diventa come segue:

digraph G 
{ 
    rankdir = LR; 
    node1 
    [ 
     shape = none 
     label = <<table border="0" cellspacing="0"> 
        <tr><td port="port1" border="1" bgcolor="red">corpus_language</td></tr> 
        <tr><td port="port2" border="1">id: en</td></tr> 
        <tr><td port="port3" border="1">name: Englist</td></tr> 
        <tr><td port="port4" border="1">sentence_count: 1027686</td></tr> 
       </table>> 
    ] 
    node2 
    [ 
     shape = none 
     label = <<table border="0" cellspacing="0"> 
        <tr><td port="port1" border="1" bgcolor="blue">corpus_sentence</td></tr> 
        <tr><td port="port2" border="1">id: 1241798</td></tr> 
        <tr><td port="port3" border="1">text: Baseball is a sport</td></tr> 
        <tr><td port="port4" border="1">creator_id: 10859</td></tr> 
        <tr><td port="port5" border="1">created_on: 2006-11-14 17:58:09.303128</td></tr> 
        <tr><td port="port6" border="1">language_id: en</td></tr> 
        <tr><td port="port7" border="1">activity_id: 11</td></tr> 
        <tr><td port="port8" border="1">score: 124</td></tr> 
       </table>> 
    ] 
    node1:port2 -> node2:port6 [label="language_id"] 
} 

Ecco il risultato:

enter image description here