Graphviz dot: Как изменить цвет одной записи в многозадачной форме - программирование
Подтвердить что ты не робот

Graphviz dot: Как изменить цвет одной записи в многозадачной форме

У меня есть следующая точка. Я хотел бы дать первый раздел в каждой записи (имя таблицы) другого цвета фона и переднего плана. Я не могу найти примеров того, как это сделать для записи. В принципе, я хочу, чтобы имя таблицы в схеме схемы запроса sql выделялось. Может ли кто-нибудь помочь?

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];   
}
4b9b3361

Ответ 1

Я уверен, что это невозможно. Вместо этого вы должны использовать метки стиля HTML, которые являются более развитой формой узлов записи. Вы можете определить свой node с помощью тега <table> и установить цвет с помощью bgcolor="your_color". Список доступных цветов можно найти здесь: http://www.graphviz.org/doc/info/colors.html (у вас также есть способ RGBA сделать это, как описано здесь: http://www.graphviz.org/doc/info/attrs.html#k:color)

С метками HTML ваш пример будет выглядеть следующим образом:

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

Вот результат:

enter image description here