Skip to main content
IBM Quantum Platform

Visualizzazioni

qiskit.visualization

Il modulo di visualizzazione contiene funzioni che visualizzano i conteggi dei risultati delle misure, gli stati quantistici, i circuiti, i dispositivi e altro ancora.

Per utilizzare le funzioni di visualizzazione, è necessario installare le opzioni di visualizzazione nel proprio ambiente di sviluppo:

pip install 'qiskit[visualization]'
Avvertenza

In generale, gli strumenti di visualizzazione di Qiskit possono richiamare programmi di sistema in base a input arbitrari forniti dall'utente e dovrebbero essere utilizzati solo con input attendibili. Gli strumenti di visualizzazione forniti da Qiskit sono destinati principalmente alla visualizzazione locale e consentono deliberatamente l’inserimento di codice utente in diversi punti, come le etichette dei nodi di Graphviz (ad esempio i nomi dei registri in DAGCircuit.draw()) o le etichette delle istruzioni di “ LaTeX ” da Instruction.label nella modalità latex di QuantumCircuit.draw().


Argomenti comuni relativi alle parole chiave

Molte delle figure create dalle funzioni di visualizzazione di questo modulo sono create da Matplotlib e accettano un sottoinsieme dei seguenti argomenti comuni. Consultare la documentazione individuale per i dettagli esatti.

  • title (str): una stringa di testo da utilizzare per il titolo della trama.
  • legend (list): un elenco di stringhe da usare per le etichette dei dati.
  • figsize (tuple): dimensione della figura in pollici.
  • color (list): un elenco di stringhe da tracciare.
  • ax ( matplotlib.axes.Axes ): Un oggetto opzionale Axes da usare per l'output di visualizzazione. Se non viene specificato nulla, verrà creato e utilizzato un nuovo file matplotlib.figure.Figure verrà creato e utilizzato. Inoltre, se specificato, non verrà restituito Figure , poiché è ridondante.
  • filename (str): percorso del file in cui salvare l'immagine.

L'esempio seguente mostra l'uso comune di questi argomenti:

from qiskit.visualization import plot_histogram

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

data = [counts1, counts2]
plot_histogram(data)
Output del codice precedente.

È possibile specificare legend, title, figsize e color passando ai kwarg.

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)
Output del codice precedente.

È possibile salvare la figura in un file passando il nome del file a filename kwarg o utilizzando il metodo matplotlib.figure.Figure.savefig metodo.

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

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

Conta visualizzazioni

Questa sezione contiene funzioni che visualizzano i conteggi dei risultati delle misurazioni.

plot_histogram(dati[, dimensione della figura, colore,...] )Traccia un istogramma dei dati dei conteggi in ingresso.

Utilizzo di esempio

Ecco un esempio di utilizzo di plot_histogram() per visualizzare il numero di risultati delle misurazioni:

from qiskit.visualization import plot_histogram

counts = {"00": 501, "11": 499}
plot_histogram(counts)
Output del codice precedente.

I dati possono essere un dizionario con una stringa di bit come chiave e i conteggi come valore, oppure, più comunemente, un Counts oggetto ottenuto da get_counts().


Visualizzazioni della distribuzione

Questa sezione contiene funzioni che visualizzano distribuzioni campionate.

plot_distribution(dati[, dimensione della figura, colore,...] )Tracciare una distribuzione dai dati campionati in ingresso.

Visualizzazioni dello stato

Questa sezione contiene funzioni che visualizzano gli stati quantici.

plot_bloch_vector(Bloch[, titolo, ascia,...] )Tracciare la sfera di Bloch.
plot_bloch_multivector(stato[, titolo,...] )Tracciare una sfera di Bloch per ogni qubit.
plot_state_city(stato[, titolo, dimensione figura,...] )Tracciare il paesaggio urbano dello stato quantico.
plot_state_hinton(stato[, titolo, dimensione figura,...] )Tracciare un diagramma di Hinton per la matrice di densità di uno stato quantistico.
plot_state_paulivec(stato[, titolo, dimensione figura,...] )Tracciare la rappresentazione del vettore Pauli di uno stato quantistico come grafico a barre.
plot_state_qsphere(stato[, dimensioneFig, asse,...] )Tracciare la rappresentazione della qsfera di uno stato quantistico.

Utilizzo di esempio

Ecco un esempio di utilizzo di plot_state_city() per visualizzare uno stato quantistico:

from qiskit.visualization import plot_state_city

state = [[ 0.75  , 0.433j],
         [-0.433j, 0.25  ]]
plot_state_city(state)
Output del codice precedente.

numpy.arrayLo stato può essere una lista di liste simile a un array, oppure, più comunemente Statevector , oggetti o DensityMatrix ottenuti da 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)
Output del codice precedente.
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)
Output del codice precedente.

È possibile trovare esempi di codice per ogni funzione di visualizzazione nella pagina API delle singole funzioni.


Visualizzazioni dei dispositivi

plot_gate_map(backend[, figsize,...] )Traccia la mappa dei gate di un dispositivo.
plot_error_map(backend[, figsize,...] )Traccia la mappa degli errori di un determinato backend.
plot_circuit_layout(circuito, backend[,...] )Traccia il layout di un circuito transpilato per un determinato backend di destinazione.
plot_coupling_map(num_qubit,...[,...] )Traccia una mappa di accoppiamento arbitraria di qubit (inserita in un piano).

Visualizzazioni dei circuiti

circuit_drawer(circuito[, scala, nome file,...] )Disegnare il circuito quantistico.

Visualizzazioni DAG

dag_drawer(dag[, scala, nome file, stile] )Tracciare il grafo aciclico diretto (dag) per rappresentare le dipendenze delle operazioni in un circuito quantistico.

Visualizzazioni Pass Manager

pass_manager_drawer(pass_manager[,...] )Disegna il gestore dei passaggi.

Visualizzazioni della linea temporale

timeline_drawer(programma[, stile,...] )Generare dati di visualizzazione per i programmi dei circuiti programmati.

Visualizzazioni della transizione dello stato di un singolo qubit

visualize_transition(circuito[, traccia,...] )Crea un'animazione che mostra le transizioni tra gli stati di un singolo qubit applicando le porte quantistiche.

Visualizzazioni di array/matrici

array_to_latex(array[, precisione, prefisso,...] )Rappresentazione Latex di un array numpy complesso (con dimensione 1 o 2)

Eccezioni

VisualizationError

exception qiskit.visualization.VisualizationError(*message)

GitHub

Basi: QiskitError

Per gli errori specifici di visualizzazione.

Impostare il messaggio di errore.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.