finesse.model.Model.plot_graph¶
- Model.plot_graph(layout: str = 'neato', graphviz=True, network_type: str | finesse.utilities.network_filter.NetworkType = NetworkType.COMPONENT, root: str | finesse.element.ModelElement | finesse.components.node.Node | None = None, show_detectors: bool = False, radius: int | None = None, directed: bool = False, **kwargs)[source]¶
Plot the node network. See also Visualizing the model
- Parameters
- layoutstr, optional
The networkx plotting layout engine, see NetworkX manual for more details. Choose from:
circular, fruchterman_reingold, kamada_kawai, multipartite, planar, random, shell, spectral, spiral, spring, neato, dot, fdp, sfdp, or circo
- graphvizbool, optional
Whether to use the graphviz library for better node layouts (needs optional dependency), by default True
- network_typestr | NetworkType, optional
Which network to plot, can be one of ‘optical’, ‘component’, ‘full’, by default NetworkType.COMPONENT
- rootstr | ModelElement | Node | None, optional
In combination with
radius, the root node of the graph to use for distance based filtering, by defaultNone. Whennetwork_typeiscomponents,Nonewill default to the firstfinesse.components.laser.Laserfound in the model.- show_detectorsbool, optional
Whether to add detectors to the graph, by default False
- radiusint >= 1 | None, optional
Must be used in combination with
root, only include nodes of the network that areradiusor less edges away from the root node, by default None, meaning that no nodes are filtered out.- directedbool, optional
Whether to use directed distance-based filtering, by default False. If set to True, will only include outgoing edges from the root node. See also the
undirectedargument ofnetworkx.generators.ego.ego_graph()
Notes
Uses
networkx.generators.ego.ego_graph()for the distance-based filtering.