Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

qiskit.visualization.dag_drawer

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

GitHub(opens in a new tab)

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

This function calls the graphviz_draw() function from the rustworkx package to draw the DAG.

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.
  • InvalidFileError – when filename provided is not valid

Example

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)

(Source code)

Was this page helpful?
Report a bug or request content on GitHub.