Skip to main contentIBM Quantum Documentation
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

qiskit.visualization.dag_drawer

qiskit.visualization.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.

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

Parameters

  • dag (DAGCircuit orDAGDependency) – The dag to draw.

  • scale (float) – scaling factor

  • filename (str) – file path to save image to (format inferred from name)

  • style (dict orstr) –

    Style name, file name of style JSON file, or a dictionary specifying the style.

    • The supported style names are ‘plain’: B&W graph, ‘color’ (default):

      (color input/output/op nodes)

    • If given a JSON file, e.g. my_style.json or my_style (the .json

      extension may be omitted), this function attempts to load the style dictionary from that location. Note, that the JSON file must completely specify the visualization specifications. The file is searched for in qiskit/visualization/circuit/styles, the current working directory, and the location specified in ~/.qiskit/settings.conf.

    • If None the default style "color" is used or, if given, the default style

      specified in ~/.qiskit/settings.conf.

Returns

if in Jupyter notebook and not saving to file,

otherwise None.

Return type

PIL.Image

Raises

Example

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
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])
with circ.if_test((c, 2)):
    circ.rz(0.5, q[1])
 
dag = circuit_to_dag(circ)
 
style = {
    "inputnodecolor": "pink",
    "outputnodecolor": "lightblue",
    "opnodecolor": "red",
}
 
dag_drawer(dag, style=style)
Was this page helpful?
Report a bug or request content on GitHub.