Skip to main content
IBM Quantum Platform

qiskit.visualization.dag_drawer

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

GitHub

Tracer le graphe acyclique dirigé (dag) pour représenter les dépendances d'opérations dans un circuit quantique.

Cette fonction appelle la fonction graphviz_draw() du paquet rustworkx pour dessiner le DAG.

Avertissement

Cette fonction lancera l'outil Graphviz du système sur un fichier contenant des chaînes de caractères définies par l'utilisateur (telles que des étiquettes d'opération). Il est recommandé de n'appeler cette fonction qu'avec des données fiables.

Paramètres

  • dag (DAGCircuit orDAGDependency) – Le dag à dessiner.

  • scale (float) – facteur d'échelle

  • filename (str) – chemin d'accès du fichier dans lequel enregistrer l'image (format déduit du nom)

  • style (dict orstr) –

    Nom du style, nom du fichier JSON du style ou dictionnaire spécifiant le style.

    • Les noms de style pris en charge sont "plain" : Graphique B&W, 'color' (par défaut) :

      (nœuds d'entrée/sortie/op de couleur)

    • Si l'on reçoit un fichier JSON, par exemple my_style.json ou my_style (le .json

      peut être omise), cette fonction tente de charger le dictionnaire de style à partir de cet emplacement. Notez que le fichier JSON doit spécifier complètement les spécifications de visualisation. Le fichier est recherché dans qiskit/visualization/circuit/styles, le répertoire de travail actuel et l'emplacement spécifié dans ~/.qiskit/settings.conf.

    • Si None , le style par défaut "color" est utilisé ou, s'il est donné, le style par défaut

      spécifiée à l'adresse ~/.qiskit/settings.conf.

Retours

s'il s'agit d'un notebook Jupyter et qu'il n'est pas enregistré dans un fichier,

sinon aucun.

Type de retour

PIL.Image

Augmentations

  • VisualizationError – lorsque le style n'est pas reconnu.
  • InvalidFileError – lorsque le nom de fichier fourni n'est pas valide
  • ValueError - Si l'extension du fichier filename n'est pas un type d'image supporté par Graphviz.

Exemple

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)
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.