qiskit.visualization.dag_drawer
qiskit.visualization.dag_drawer(dag, scale=0.7, filename=None, style='color')
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.
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)
-
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.jsonoumy_style(le.jsonpeut ê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éfautspé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
filenamen'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)