def _mpl(graph: PyGraph, self_loop: bool, **kwargs): """ Auxiliary function for drawing the lattice using matplotlib. Args: graph : graph to be drawn. self_loop : Draw self-loops, which are edges connecting a node to itself. **kwargs : Kwargs for drawing the lattice. Raises: MissingOptionalLibraryError: Requires matplotlib. """ if not HAS_MATPLOTLIB: raise MissingOptionalLibraryError( libname="Matplotlib", name="_mpl", pip_install="pip install matplotlib" ) from matplotlib import pyplot as plt if not self_loop: self_loops = [(i, i) for i in range(graph.num_nodes()) if graph.has_edge(i, i)] graph.remove_edges_from(self_loops) mpl_draw( graph=graph, **kwargs, ) plt.draw()
def _mpl(graph: PyGraph, self_loop: bool, **kwargs): """ Auxiliary function for drawing the lattice using matplotlib. Args: graph : graph to be drawn. self_loop : Draw self-loops, which are edges connecting a node to itself. **kwargs : Kwargs for drawing the lattice. Raises: MissingOptionalLibraryError: Requires matplotlib. """ # pylint: disable=unused-import from matplotlib import pyplot as plt if not self_loop: self_loops = [(i, i) for i in range(graph.num_nodes()) if graph.has_edge(i, i)] graph.remove_edges_from(self_loops) mpl_draw( graph=graph, **kwargs, ) plt.draw()