Skip to main content
IBM Quantum Platform

Visualisations

qiskit.visualization

Le module de visualisation contient des fonctions qui permettent de visualiser les résultats des mesures, les états quantiques, les circuits, les dispositifs, etc.

Pour utiliser les fonctions de visualisation, vous devez installer les options de visualisation dans votre environnement de développement :

pip install 'qiskit[visualization]'
Avertissement

De manière générale, les outils de visualisation de Qiskit peuvent appeler des programmes système à partir de données saisies par l'utilisateur, et ne doivent être utilisés qu'avec des données fiables. QuantumCircuit.draw()Les outils de visualisation fournis par Qiskit sont principalement destinés à la visualisation locale et permettent délibérément l'injection de code utilisateur à plusieurs endroits, par exemple dans les étiquettes de nœuds Graphviz (telles que les noms de registres dans DAGCircuit.draw()) ou dans les étiquettes d'instructions « LaTeX » issues de Instruction.label en mode latex .


Arguments courants relatifs aux mots-clés

La plupart des figures créées par les fonctions de visualisation de ce module sont créées par Matplotlib et acceptent un sous-ensemble des arguments communs suivants. Consultez la documentation individuelle pour plus de détails.

  • title (str) : une chaîne de texte à utiliser pour le titre de l'intrigue.
  • legend (list) : une liste de chaînes à utiliser pour les étiquettes des données.
  • figsize (tuple) : taille de la figure en pouces.
  • color (list) : une liste de chaînes de caractères pour le traçage.
  • ax ( matplotlib.axes.Axes ) : Un objet facultatif Axes à utiliser pour la sortie de la visualisation. Si aucun n'est spécifié, un nouveau matplotlib.figure.Figure sera créée et utilisée. De plus, si elle est spécifiée, Figure ne sera pas renvoyée car elle est redondante.
  • filename (str) : chemin d'accès au fichier dans lequel l'image doit être enregistrée.

L'exemple suivant illustre l'utilisation courante de ces arguments :

from qiskit.visualization import plot_histogram

counts1 = {'00': 499, '11': 501}
counts2 = {'00': 511, '11': 489}

data = [counts1, counts2]
plot_histogram(data)
Sortie du code précédent.

Vous pouvez spécifier legend, title, figsize et color en passant aux kwargs.

from qiskit.visualization import plot_histogram

counts1 = {'00': 499, '11': 501}
counts2 = {'00': 511, '11': 489}
data = [counts1, counts2]

legend = ['First execution', 'Second execution']
title = 'New histogram'
figsize = (10,10)
color=['crimson','midnightblue']
plot_histogram(data, legend=legend, title=title, figsize=figsize, color=color)
Sortie du code précédent.

Vous pouvez enregistrer la figure dans un fichier en passant le nom du fichier à filename kwarg ou en utilisant la méthode matplotlib.figure.Figure.savefig méthode.

plot_histogram(data, filename='new_hist.png')

hist = plot_histogram(data)
hist.savefig('new_hist.png')

Comptes Visualisations

Cette section contient des fonctions qui permettent de visualiser les résultats des mesures.

plot_histogram(données[, taille de l'image, couleur,...] )Tracer un histogramme des données de comptage d'entrée.

Exemple d'utilisation

Voici un exemple d'utilisation de plot_histogram() pour visualiser le nombre de résultats de mesure :

from qiskit.visualization import plot_histogram

counts = {"00": 501, "11": 499}
plot_histogram(counts)
Sortie du code précédent.

Les données peuvent prendre la forme d'un dictionnaire dont les clés sont des chaînes de bits et les valeurs des nombres, ou, plus couramment, d'un Counts objet obtenu à partir de get_counts().


Visualisations de distribution

Cette section contient des fonctions qui permettent de visualiser des distributions échantillonnées.

plot_distribution(données[, taille de l'image, couleur,...] )Tracer une distribution à partir de données échantillonnées en entrée.

Visualisations d'État

Cette section contient des fonctions qui permettent de visualiser les états quantiques.

plot_bloch_vector(Bloch[, titre, hache,...] )Tracer la sphère de Bloch.
plot_bloch_multivector(État[, titre,...] )Tracer une sphère de Bloch pour chaque qubit.
plot_state_city(état[, titre, taille de l'illustration,...] )Tracer le paysage urbain de l'état quantique.
plot_state_hinton(état[, titre, taille de l'illustration,...] )Tracez un diagramme de Hinton pour la matrice de densité d'un état quantique.
plot_state_paulivec(état[, titre, taille de l'illustration,...] )Tracez la représentation du vecteur de Paul d'un état quantique sous la forme d'un diagramme à barres.
plot_state_qsphere(état[, taille_figure, axe,...] )Tracer la représentation de la qsphère d'un état quantique.

Exemple d'utilisation

Voici un exemple d'utilisation de plot_state_city() pour visualiser un état quantique :

from qiskit.visualization import plot_state_city

state = [[ 0.75  , 0.433j],
         [-0.433j, 0.25  ]]
plot_state_city(state)
Sortie du code précédent.

L'état peut être une liste de listes de type tableau, numpy.array ou, plus couramment Statevector , DensityMatrix des objets obtenus à partir d'un QuantumCircuit:

from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_state_city

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)

# plot using a Statevector
state = Statevector(qc)
plot_state_city(state)
Sortie du code précédent.
from qiskit import QuantumCircuit
from qiskit.quantum_info import DensityMatrix
from qiskit.visualization import plot_state_city

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)

# plot using a DensityMatrix
state = DensityMatrix(qc)
plot_state_city(state)
Sortie du code précédent.

Vous trouverez des exemples de code pour chaque fonction de visualisation sur la page API de la fonction individuelle.


Visualisations des appareils

plot_gate_map(backend[, figsize,...] )Trace la carte des portes d'un appareil.
plot_error_map(backend[, figsize,...] )Affiche la carte des erreurs d'un backend donné.
plot_circuit_layout(circuit, backend[,...] )Tracer l'agencement d'un circuit transposé pour un backend cible donné.
plot_coupling_map(num_qubits,...[,...] )Trace une carte de couplage arbitraire de qubits (intégrés dans un plan).

Visualisations de circuits

circuit_drawer(circuit[, échelle, nom de fichier,...] )Dessinez le circuit quantique.

Visualisations DAG

dag_drawer(jour[, échelle, nom de fichier, style] )Tracer le graphe acyclique dirigé (dag) pour représenter les dépendances d'opérations dans un circuit quantique.

Visualisations du gestionnaire de mots de passe

pass_manager_drawer(pass_manager[,...] )Dessine le gestionnaire de passe.

Visualisations chronologiques

timeline_drawer(programme[, style,...] )Générer des données de visualisation pour les programmes de circuits programmés.

Visualisations des transitions d'état d'un qubit unique

visualize_transition(circuit[, piste,...] )Crée une animation montrant les transitions entre les états d'un seul qubit en appliquant des portes quantiques.

Visualisations de tableaux/matrices

array_to_latex(tableau[, précision, préfixe,...] )Représentation Latex d'un tableau numpy complexe (de dimension 1 ou 2)

Exceptions

VisualizationError

exception qiskit.visualization.VisualizationError(*message)

GitHub

Bases : QiskitError

Pour les erreurs spécifiques à la visualisation.

Définir le message d'erreur.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.