Skip to main content
IBM Quantum Platform

Visualisierungen

qiskit.visualization

Das Visualisierungsmodul enthält Funktionen zur Visualisierung von Messergebnissen, Quantenzuständen, Schaltungen, Geräten und mehr.

Um die Visualisierungsfunktionen zu nutzen, müssen Sie Visualisierungsoptionen in Ihrer Entwicklungsumgebung installieren:

pip install 'qiskit[visualization]'
Warnung

Generell können die Visualisierungstools in Qiskit bei beliebigen Benutzereingaben Systemprogramme aufrufen und sollten daher nur mit vertrauenswürdigen Eingaben verwendet werden. Die in Qiskit bereitgestellten Visualisierungstools sind hauptsächlich für die lokale Visualisierung gedacht und ermöglichen bewusst an mehreren Stellen die Einbindung von Benutzercode, beispielsweise in Form von Graphviz-Knotenbezeichnungen wie Registernamen in DAGCircuit.draw()oder von Befehlsbezeichnungen aus Instruction.label „ LaTeX “ im latex Modus von QuantumCircuit.draw().


Häufige Schlüsselwortargumente

Viele der Figuren, die von den Visualisierungsfunktionen in diesem Modul erstellt werden, werden von Matplotlib erstellt und akzeptieren eine Teilmenge der folgenden allgemeinen Argumente. Genaue Angaben finden Sie in den einzelnen Unterlagen.

  • title (str): eine Zeichenkette, die für den Titel des Plots verwendet wird.
  • legend (list): eine Liste von Zeichenketten, die für die Beschriftung der Daten verwendet werden sollen.
  • figsize (tuple): Größe der Figur in Zoll.
  • color (list): eine Liste von Zeichenketten zum Plotten.
  • ax ( matplotlib.axes.Axes ): Ein optionales Axes Objekt, das für die Visualisierungsausgabe verwendet wird. Wenn keine Angabe gemacht wird, wird eine neue matplotlib.figure.Figure erstellt und verwendet. Außerdem wird, falls angegeben, keine Figure zurückgegeben, da sie überflüssig ist.
  • filename (str): Dateipfad, in dem das Bild gespeichert werden soll.

Das folgende Beispiel demonstriert die übliche Verwendung dieser Argumente:

from qiskit.visualization import plot_histogram

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

data = [counts1, counts2]
plot_histogram(data)
Ausgabe des vorherigen Codes.

Sie können legend, title, figsize und color durch Übergabe an die kwargs angeben.

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)
Ausgabe des vorherigen Codes.

Sie können die Abbildung in einer Datei speichern, indem Sie den Dateinamen an filename kwarg übergeben oder die matplotlib.figure.Figure.savefig methode.

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

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

Zählungen Visualisierungen

Dieser Abschnitt enthält Funktionen zur Visualisierung der Anzahl der Messergebnisse.

Kolumne „ 1 “
Kolumne „ 2 “
plot_histogram(Daten[, Abbildungsgröße, Farbe,...] )Zeichnen Sie ein Histogramm der eingegebenen Zähldaten.

Beispiel für die Verwendung

Hier ist ein Beispiel für die Verwendung von plot_histogram() zur Visualisierung von Messwerten:

from qiskit.visualization import plot_histogram

counts = {"00": 501, "11": 499}
plot_histogram(counts)
Ausgabe des vorherigen Codes.

get_counts()Die Daten können ein Wörterbuch sein, bei dem die Bitstrings als Schlüssel und die Zählwerte als Werte dienen, oder – was häufiger der Fall ist – ein Counts Objekt, das aus … gewonnen wird.


Verteilungsvisualisierungen

Dieser Abschnitt enthält Funktionen zur Visualisierung von Stichprobenverteilungen.

Kolumne „ 1 “
Kolumne „ 2 “
plot_distribution(Daten[, Abbildungsgröße, Farbe,...] )Plotten einer Verteilung aus eingegebenen Stichprobendaten.

Staatliche Visualisierungen

Dieser Abschnitt enthält Funktionen zur Visualisierung von Quantenzuständen.

Kolumne „ 1 “
Kolumne „ 2 “
plot_bloch_vector(Bloch[, Titel, Axe, …] )Zeichnen Sie die Bloch-Kugel.
plot_bloch_multivector(Bundesstaat[, Titel,...] )Zeichnen Sie für jedes Qubit eine Bloch-Kugel.
plot_state_city(Zustand[, Titel, Abbildungsgröße,...] )Zeichnen Sie das Stadtbild des Quantenzustands.
plot_state_hinton(Zustand[, Titel, Abbildungsgröße,...] )Zeichnen Sie ein Hinton-Diagramm für die Dichtematrix eines Quantenzustands.
plot_state_paulivec(Zustand[, Titel, Abbildungsgröße,...] )Stellen Sie die Pauli-Vektor-Darstellung eines Quantenzustands als Balkendiagramm dar.
plot_state_qsphere(Zustand[, Abbildungsgröße, Achse,...] )Zeichnen Sie die qsphärische Darstellung eines Quantenzustands.

Beispiel für die Verwendung

Hier ist ein Beispiel für die Verwendung von plot_state_city() zur Visualisierung eines Quantenzustands:

from qiskit.visualization import plot_state_city

state = [[ 0.75  , 0.433j],
         [-0.433j, 0.25  ]]
plot_state_city(state)
Ausgabe des vorherigen Codes.

QuantumCircuitDer Zustand kann eine arrayähnliche Liste von Listen sein, numpy.array oder – was häufiger der Fall ist Statevector – DensityMatrix Objekte, die aus einem stammen:

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)
Ausgabe des vorherigen Codes.
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)
Ausgabe des vorherigen Codes.

Codebeispiele für die einzelnen Visualisierungsfunktionen finden Sie auf der API-Seite der einzelnen Funktionen.


Gerätevisualisierungen

Kolumne „ 1 “
Kolumne „ 2 “
plot_gate_map(Backend[, Bildgröße,...] )Stellt die Gate-Map eines Geräts dar.
plot_error_map(Backend[, Bildgröße,...] )Stellt die Fehlerkarte eines bestimmten Backends dar.
plot_circuit_layout(Schaltung, Backend[,...] )Zeichnen Sie das Layout eines Schaltkreises, der für ein bestimmtes Ziel-Backend umgesetzt wurde.
plot_coupling_map(num_qubits,...[,...] )Zeichnet eine beliebige Kopplungskarte von Qubits (eingebettet in eine Ebene).

Schaltungsvisualisierungen

Kolumne „ 1 “
Kolumne „ 2 “
circuit_drawer(Schaltkreis[, Skala, Dateiname,...] )Zeichnen Sie den Quantenkreis.

DAG-Visualisierungen

Kolumne „ 1 “
Kolumne „ 2 “
dag_drawer(Tag[, Skala, Dateiname, Stil] )Zeichnen Sie den gerichteten azyklischen Graphen (dag) zur Darstellung von Operationsabhängigkeiten in einem Quantenschaltkreis.

Passmanager-Visualisierungen

Kolumne „ 1 “
Kolumne „ 2 “
pass_manager_drawer(pass_manager[,...] )Zeichnet den Passmanager.

Zeitleistenvisualisierungen

Kolumne „ 1 “
Kolumne „ 2 “
timeline_drawer(Programm[, Stil,...] )Erzeugen Sie Visualisierungsdaten für geplante Schaltprogramme.

Visualisierungen von Zustandsübergängen einzelner Qubits

Kolumne „ 1 “
Kolumne „ 2 “
visualize_transition(Schaltung[, Leiterbahn,...] )Erstellt eine Animation, die Übergänge zwischen den Zuständen eines einzelnen Qubits durch Anwendung von Quantengattern zeigt.

Array-/Matrix-Visualisierungen

Kolumne „ 1 “
Kolumne „ 2 “
array_to_latex(Array[, Genauigkeit, Präfix,...] )Latex-Darstellung eines komplexen Numpy-Arrays (mit Dimension 1 oder 2)

Ausnahmen

VisualizationError

exception qiskit.visualization.VisualizationError(*message)

GitHub

Basen: QiskitError

Für visualisierungsspezifische Fehler.

Legen Sie die Fehlermeldung fest.

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.