Skip to main content
IBM Quantum Platform

qiskit.visualization.circuit_drawer

qiskit.visualization.circuit_drawer(circuit, scale=None, filename=None, style=None, output=None, interactive=False, plot_barriers=True, reverse_bits=None, justify=None, vertical_compression='medium', idle_wires=None, with_layout=True, fold=None, ax=None, initial_state=False, cregbundle=None, wire_order=None, expr_len=30, measure_arrows=None, barrier_label_len=16)

GitHub

Zeichnen Sie den Quantenkreis. Verwenden Sie den Ausgabeparameter, um das Zeichenformat zu wählen:


text

ASCII-Kunst TextDrawing, die in der Konsole ausgegeben werden kann.


mpl

Bilder, deren Farben ausschließlich mit matplotlib in der Programmiersprache „ Python “ dargestellt wurden.


latex

Hochwertige Bilder, zusammengestellt über LaTeX.

Achtung

Dies ruft aufgrund der Funktionsweise bei beliebiger Benutzereingabe eine pdflatex installierte Systemversion von auf (beispielsweise um benutzerdefinierten Code in Instruction.labelauszugeben) und sollte daher nur für vertrauenswürdige Daten verwendet werden.


latex_source

Unbearbeitete, nicht kompilierte Ausgabe von „ LaTeX “. Dies ist der Quellcode für das, was vom latex Zeichner gerendert wird.

Achtung

Die Unterstützung für Expr Knoten in Bedingungen und SwitchCaseOp.target Feldern ist vorläufig und unvollständig. Die Schubladen „“ text und mpl „“ versuchen nach besten Kräften, Datenabhängigkeiten darzustellen, während die Schubladen „ LaTeX-based “ diese jedoch vollständig auslassen.

Parameter

  • circuit (QuantumCircuit) – Die Schaltung, die dargestellt werden soll.

  • scale (float | None) – Maßstab des zu zeichnenden Bildes (verkleinern, wenn < 1.0). Wird nur von den Ausgängen mpl, latex und latex_source verwendet. Die Standardeinstellung ist 1.0.

  • filename (str | None) – Dateipfad, in dem das Bild gespeichert werden soll. Die Standardeinstellung ist None (Ergebnis wird nicht in einer Datei gespeichert).

  • style (dict |str | None) –

    Stilname, Dateiname der Stil-JSON-Datei oder ein Wörterbuch, das den Stil angibt.

    • Die unterstützten Stilnamen sind "iqp" (Standard), "iqp-dark", "clifford",

      "textbook" und "bw".

    • Bei Angabe einer JSON-Datei, z. B. my_style.json oder my_style (die .json

      erweiterung kann weggelassen werden), versucht diese Funktion, das Stilwörterbuch von diesem Ort zu laden. Beachten Sie, dass die JSON-Datei die Visualisierungsspezifikationen vollständig enthalten muss. Die Datei wird in qiskit/visualization/circuit/styles, dem aktuellen Arbeitsverzeichnis und dem in ~/.qiskit/settings.conf angegebenen Ort gesucht.

    • Wenn es sich um ein Wörterbuch handelt, setzt jeder Eintrag die Standardkonfiguration außer Kraft. Wenn das

      "name" Wenn der Schlüssel angegeben wird, richtet sich die Standardkonfiguration nach diesem Stil. Beispielsweise lädt {"name": "textbook", "subfontsize": 5} das "textbook" den Stil und setzt die Unterfontgröße (z. B. die Torwinkel) auf 5.

    • Wenn None wird der Standardstil "iqp" verwendet oder, falls angegeben, der Standardstil

      in ~/.qiskit/settings.conf angegeben.

  • output (str | None) – Wählen Sie die Ausgabemethode aus, die Sie für das Zeichnen des Stromkreises verwenden möchten. Gültige Auswahlmöglichkeiten sind text, mpl, latex, latex_source. Standardmäßig wird die Schublade text verwendet, es sei denn, in der Benutzerkonfigurationsdatei (in der Regel ~/.qiskit/settings.conf) ist ein anderes Backend als Standard festgelegt. Beispiel: circuit_drawer = latex. Wenn der Ausgabe-Kwarg gesetzt ist, wird dieses Backend immer anstelle des Standards in der Benutzerkonfigurationsdatei verwendet.

  • interactive (bool) – Bei der Einstellung True wird der Schaltkreis in einem neuen Fenster angezeigt (bei mpl hängt dies davon ab, ob das verwendete Matplotlib-Backend dies unterstützt). Beachten Sie, dass dies bei der Ausgabeart "Text" oder " latex_source " keine Auswirkungen hat und stillschweigend ignoriert wird. Die Standardeinstellung ist False.

  • reverse_bits (bool | None) – Bei der Einstellung True wird die Bitreihenfolge in den Registern für die Ausgangsvisualisierung umgekehrt. Der Standardwert ist False , es sei denn, in der Benutzerkonfigurationsdatei (normalerweise ~/.qiskit/settings.conf) ist ein anderer Wert eingestellt. Zum Beispiel circuit_reverse_bits = True.

  • plot_barriers (bool) – Aktivieren/Deaktivieren der Ziehsperren im Ausgangskreis. Der Standardwert ist True.

  • justify (str | None) – Die Optionen sind "left", "right" oder "none" (str). Wenn etwas anderes angegeben wird, wird stattdessen linksbündig verwendet. Sie gibt an, wo die Gatter in der Ausgangsschaltung platziert werden sollen, falls eine solche Möglichkeit besteht. none führt dazu, dass jedes Tor in eine eigene Spalte gestellt wird. Die Standardeinstellung ist left.

  • vertical_compression (str | None) – high, medium oder low. Sie führt die von der Textausgabe erzeugten Linien zusammen, so dass die Zeichnung weniger vertikalen Raum einnimmt. Die Voreinstellung ist medium. Wird nur von der Ausgabe text verwendet, ansonsten wird es ignoriert.

  • idle_wires (bool |str | None) – Leere Drähte (Drähte ohne Schaltkreiselemente) in die Ausgangsvisualisierung einbeziehen (oder nicht). Der String "auto" ist auch möglich, in diesem Fall sind keine Drähte zu sehen, außer dass die Schaltung ein Layout hat. Der Standardwert ist "auto" , es sei denn, in der Benutzerkonfigurationsdatei (normalerweise ~/.qiskit/settings.conf) ist ein anderer Wert eingestellt. Zum Beispiel circuit_idle_wires = False.

  • with_layout (bool) – Enthalten Sie Layout-Informationen mit Beschriftungen auf dem physischen Layout. Der Standardwert ist True.

  • fold (int | None) – Legt die Seitennummerierung fest. Sie kann mit -1 deaktiviert werden. Unter text können Sie die Länge der Linien festlegen. Dies ist nützlich, wenn die Zeichnung nicht in die Konsole passt. Wenn keine (Standard), wird versucht, die Konsolenbreite mit shutil.get_terminal_size() zu erraten. Bei der Ausführung in Jupyter ist die Standardzeilenlänge jedoch auf 80 Zeichen festgelegt. In mpl ist dies die Anzahl der (visuellen) Schichten vor der Faltung. Vorgabe ist 25.

  • ax (Any | None) – Wird nur vom mpl-Backend verwendet. Ein optionales matplotlib.axes.Axes Objekt, das für die Visualisierungsausgabe verwendet wird. Wenn keine angegeben wird, wird eine neue Matplotlib-Figur erstellt und verwendet. Außerdem wird, falls angegeben, keine Abbildung zurückgegeben, da sie redundant ist.

  • initial_state (bool) – Fügt ∣0⟩|0\rangle am Anfang der Qubit-Drähte und 00 zu den klassischen Drähten hinzu. Der Standardwert ist False.

  • cregbundle (bool | None) – Wenn auf True gesetzt, bündeln Sie die klassischen Register. Die Voreinstellung ist True, außer wenn output auf "text" gesetzt ist.

  • wire_order (list[int] | None) – Eine Liste ganzer Zahlen, die zur Neuordnung der Anzeige der Bits verwendet wird. Die Liste muss für jedes Bit einen Eintrag enthalten, wobei die Bits im Bereich von 0 bis (num_qubits + num_clbits) liegen müssen.

  • ControlFlowOpexpr_len (int) – Die Anzahl der Zeichen, die angezeigt werden sollen, wenn ein Expr als Bedingung in einem verwendet wird. Wird diese Zahl überschritten, wird die Zeichenfolge an dieser Stelle abgeschnitten und am Ende mit „…“ ergänzt.

  • measure_arrows (bool | None) – Wenn „True“, zeichne von jedem Taktfeld einen Pfeil hinunter zu dem klassischen Bit oder Register, in dem der Taktwert gespeichert ist. Wenn „False“, wird kein Pfeil gezeichnet, sondern stattdessen der Name des Bits oder Registers in das Taktfeld eingefügt. Standardmäßig gilt True , sofern in der Benutzerkonfigurationsdatei (in der Regel ~/.qiskit/settings.conf) kein anderer Wert festgelegt ist. Zum Beispiel circuit_measure_arrows = False.

  • barrier_label_len (int) – Die Anzahl der Zeichen, die für Barrier Beschriftungen im Ausgabekreis angezeigt werden sollen. Wird diese Zahl überschritten, wird die Zeichenfolge an dieser Stelle abgeschnitten und am Ende mit „…“ ergänzt.

Rückgabe

TextDrawing oder matplotlib.figure oder PIL.Image oder str:

  • TextDrawing (wenn output='text')

    Eine Zeichnung, die als Ascii-Art gedruckt werden kann.

  • matplotlib.figure.Figure (wenn output='mpl')

    Ein Matplotlib-Figur-Objekt für den Schaltplan.

  • PIL.Image (if output='latex')

    Eine speicherinterne Darstellung der Abbildung des Schaltplans.

  • str (wenn output='latex_source')

    Der LaTeX Quellcode zur Visualisierung des Schaltplans.

Erhöht

  • VisualizationError – wenn eine ungültige Ausgabemethode ausgewählt wird
  • ImportError - wenn die Ausgabemethoden nicht installierte Bibliotheken erfordern.

Beispiel

from qiskit import QuantumCircuit
from qiskit.visualization import circuit_drawer
qc = QuantumCircuit(1, 1)
qc.h(0)
qc.measure(0, 0)
circuit_drawer(qc, output="mpl", style={"backgroundcolor": "#EEEEEE"})
Schaltplan, der durch den vorherigen Code ausgegeben wurde.
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.