Search code examples
bordergraphviz

graphviz fill gap between two borders (peripheries)


digraph {
graph[bgcolor="gold1:dodgerblue"]
node[shape=box;style="filled";];
edge[color="#000080";arrowhead="open";];

A [peripheries=2;color="blue:green:blue";fillcolor="#ddffff";];
B [fillcolor="#ddffff";];
A->B
}

Outputs the first picture. How to fill the gap and get the second picture?

actual wanted


Solution

  • The exact solution is still not found but HTML-Like Labels give a visually equivalent workaround. Though the code is pretty verbose it suites for my case.

    digraph {
    graph[imagepath=".";];
    graph[layout=dot;rankdir=LR;];
    node[shape=box;style="filled";];
    node[shape=box;style="filled";penwidth="1";width=0;height=0;margin="0.05,0.05"];
    edge[color="#000080";arrowhead="open";];
    
    A [fillcolor="yellow";label=< <table cellpadding="0" cellspacing="0" border="1" bgcolor="#ffddff">
    <tr><td cellpadding="5" border="0">Marked node</td></tr>
    </table> >;];
    
    B [fillcolor="#ddffff";label="Ordinary node";];
    
    A->B
    }
    

    enter image description here