pacodelumberg
pacodelumberg

Reputation: 2274

Showing Arbitrary Graph Nodes and Edges for a Network in GraphViz

I'd like to draw a network, as a fully connected directed graph, with arbitrary number of nodes and edges as shown in the pic. enter image description here What would be the easy way to draw this with GraphViz?

Upvotes: 1

Views: 420

Answers (1)

CapelliC
CapelliC

Reputation: 60034

graphviz gallery has a very similar entry, with fancy graphic: it's as easy as replacing the names start, etc... with your own in the generating script. Feed it to dot program.

digraph G {bgcolor="red:cyan" gradientangle=0

    subgraph cluster_0 {
        style=filled;
        color=lightgrey;
        fillcolor="blue:yellow";
        gradientangle=90;
        node [fillcolor="yellow:green" style=filled gradientangle=270] a0;
        node [fillcolor="green:red"] a1;
        node [fillcolor="red:cyan"] a2;
        node [fillcolor="cyan:blue"] a3;

        a0 -> a1 -> a2 -> a3;
        label = "process #1";
    }

    subgraph cluster_1 {
        node [fillcolor="yellow:magenta" 
             style=filled gradientangle=270] b0;
        node [fillcolor="magenta:cyan"] b1;
        node [fillcolor="cyan:red"] b2;
        node [fillcolor="red:blue"] b3;

        b0 -> b1 -> b2 -> b3;
        label = "process #2";
        color=blue
        fillcolor="blue:yellow";
        style=filled;
        gradientangle=90;
    }
    start -> a0;
    start -> b0;
    a1 -> b3;
    b2 -> a3;
    a3 -> a0;
    a3 -> end;
    b3 -> end;

    start [shape=Mdiamond ,
        fillcolor="yellow:brown",
        gradientangle=90,
        style=radial];
    end [shape=Msquare,
        fillcolor="orange:blue",
        style=radial,
        gradientangle=90];
}

Upvotes: 1

Related Questions