Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK. Go to the latest version

qiskit.visualization.dag_drawer

dag_drawer(dag, scale=0.7, filename=None, style='color')

GitHub

Plot the directed acyclic graph (dag) to represent operation dependencies in a quantum circuit.

Note this function leverages pydot to generate the graph, which means that having Graphviz installed on your system is required for this to work.

The current release of Graphviz can be downloaded here: <https://graphviz.gitlab.io/download/>. Download the version of the software that matches your environment and follow the instructions to install Graph Visualization Software (Graphviz) on your operating system.

Parameters

  • dag (DAGCircuit) – The dag to draw.
  • scale (float) – scaling factor
  • filename (str) – file path to save image to (format inferred from name)
  • style (str) – ‘plain’: B&W graph ‘color’ (default): color input/output/op nodes

Returns

if in Jupyter notebook and not saving to file,

otherwise None.

Return type

PIL.Image

Raises

  • VisualizationError – when style is not recognized.
  • MissingOptionalLibraryError – when pydot or pillow are not installed.
  • InvalidFileError – when filename provided is not valid

Example

%matplotlib inline
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.dagcircuit import DAGCircuit
from qiskit.converters import circuit_to_dag
from qiskit.visualization import dag_drawer
 
q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1]).c_if(c, 2)
 
dag = circuit_to_dag(circ)
dag_drawer(dag)
../_images/qiskit.visualization.dag_drawer_0_0.png
Was this page helpful?
Report a bug or request content on GitHub.