def lattice(lattice, filename, directory, render, view, **kwargs):
    """Return graphviz source for visualizing the lattice graph."""
    dot = graphviz.Digraph(
        name=lattice.__class__.__name__,
        comment=repr(lattice),
        filename=filename,
        directory=directory,
        node_attr=dict(shape='circle', width='.25', style='filled', label=''),
        edge_attr=dict(dir='none', labeldistance='1.5', minlen='2'),
        **kwargs
    )

    sortkey = SORTKEYS[0]

    node_name = NAME_GETTERS[0]

    for concept in lattice._concepts:
        name = node_name(concept)
        dot.node(name)

        if concept.objects:
            dot.edge(name, name,
                headlabel=' '.join(concept.objects),
                labelangle='270', color='transparent')

        if concept.properties:
            dot.edge(name, name,
                taillabel=' '.join(concept.properties),
                labelangle='90', color='transparent')

        dot.edges((name, node_name(c))
            for c in sorted(concept.lower_neighbors, key=sortkey))

    if render or view:
        dot.render(view=view)  # pragma: no cover
    return dot
def lattice ( lattice , filename , directory , render , view , ** kwargs ) : dot = graphviz . Digraph ( name = lattice . __class__ . __name__ , comment = repr ( lattice ) , filename = filename , directory = directory , node_attr = dict ( shape = 'circle' , width = '.25' , style = 'filled' , label = '' ) , edge_attr = dict ( dir = 'none' , labeldistance = '1.5' , minlen = '2' ) , ** kwargs ) sortkey = SORTKEYS [ 0 ] node_name = NAME_GETTERS [ 0 ] for concept in lattice . _concepts : name = node_name ( concept ) dot . node ( name ) if concept . objects : dot . edge ( name , name , headlabel = ' ' . join ( concept . objects ) , labelangle = '270' , color = 'transparent' ) if concept . properties : dot . edge ( name , name , taillabel = ' ' . join ( concept . properties ) , labelangle = '90' , color = 'transparent' ) dot . edges ( ( name , node_name ( c ) ) for c in sorted ( concept . lower_neighbors , key = sortkey ) ) if render or view : dot . render ( view = view ) return dot
Return graphviz source for visualizing the lattice graph.