2013-07-20 2 views
10

Ich habe das folgende Punktmuster. Ich möchte dem ersten Abschnitt in jedem Datensatz (dem Tabellennamen) eine andere Hintergrund- und Vordergrundfarbe geben. Ich kann keine Beispiele dafür finden, wie man das für eine Aufzeichnung macht. Grundsätzlich möchte ich den Tabellennamen im SQL-Abfrage-Schemadiagramm hervorheben. Kann jemand helfen?Graphviz dot: Wie man die Farbe eines Datensatzes in Multi-Record-Form ändert

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

möglich Duplikat [Graphviz: Farbe nur ein Feld in einem Datensatz-basierten Knoten] (http://stackoverflow.com/questions/9009683/graphviz-color-only-a-field -in-einem-Datensatz-basierten-Knoten) – Izzy

Antwort

15

Ich bin mir ziemlich sicher, dass es nicht möglich ist. Stattdessen sollten Sie HTML-ähnliche Labels verwenden, die eine weiterentwickelte Form von Record Nodes sind. Sie können Ihren Knoten mit dem Tag <table> definieren und die Farbe mit bgcolor="your_color" festlegen. Eine Liste der verfügbaren Farben finden Sie hier: http://www.graphviz.org/doc/info/colors.html (Sie haben auch eine RGBA Art und Weise tun, wie hier beschrieben: http://www.graphviz.org/doc/info/attrs.html#k:color)

Mit HTML-Etiketten, Ihr Beispiel wird, wie folgt:

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"] 
} 

Hier das Ergebnis:

enter image description here

Verwandte Themen