digraph G {
// leave some space for the head/taillabels
graph [ranksep=1.5 splines=true overlap=false]
// to avoid confusion, remember this:
// it's spelt tail/head, but it's read start/end
// emphasize theatrically
// show only explicitly given head/tails
// put head/tail labels farther from the node
// edge [arrowsize=2 dir=none labeldistance=3]
edge [dir=none labeldistance=3]
// not interested in node labels
node [shape=circle width=0.5 label=""]
{
edge [samehead=ahead samearrowhead=1]
a->Z [arrowtail=none taillabel=none]
b->Z [arrowtail=normal taillabel=normal]
c->Z [arrowtail=inv taillabel=inv]
d->Z [arrowtail=dot taillabel=dot]
e->Z [arrowtail=odot taillabel=odot]
f->Z [arrowtail=invdot taillabel=invdot]
g->Z [arrowtail=invodot taillabel=invodot]
h->Z [arrowtail=open taillabel=open]
i->Z [arrowtail=halfopen taillabel=halfopen arrowhead=inv headlabel=samehead]
j->Z [arrowtail=empty taillabel=empty]
k->Z [arrowtail=invempty taillabel=invempty]
l->Z [arrowtail=diamond taillabel=diamond]
m->Z [arrowtail=odiamond taillabel=odiamond]
n->Z [arrowtail=box taillabel=box]
o->Z [arrowtail=obox taillabel=obox]
p->Z [arrowtail=tee taillabel=tee]
q->Z [arrowtail=crow taillabel=crow]
}
{
edge [sametail=atail samearrowtail=1]
Z->A [arrowhead=none headlabel=none]
Z->B [arrowhead=normal headlabel=normal]
Z->C [arrowhead=inv headlabel=inv]
Z->D [arrowhead=dot headlabel=dot]
Z->E [arrowhead=odot headlabel=odot]
Z->F [arrowhead=invdot headlabel=invdot]
Z->G [arrowhead=invodot headlabel=invodot]
Z->H [arrowhead=open headlabel=open]
Z->I [arrowhead=halfopen headlabel=halfopen arrowtail=inv taillabel=sametail]
Z->J [arrowhead=empty headlabel=empty]
Z->K [arrowhead=invempty headlabel=invempty]
Z->L [arrowhead=diamond headlabel=diamond]
Z->M [arrowhead=odiamond headlabel=odiamond]
Z->N [arrowhead=box headlabel=box]
Z->O [arrowhead=obox headlabel=obox]
Z->P [arrowhead=tee headlabel=tee]
Z->Q [arrowhead=crow headlabel=crow]
}
}
|