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)
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.
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.
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ängenmpl,latexundlatex_sourceverwendet. Die Standardeinstellung ist1.0. -
filename (str | None) – Dateipfad, in dem das Bild gespeichert werden soll. Die Standardeinstellung ist
None(Ergebnis wird nicht in einer Datei gespeichert). -
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.jsonodermy_style(die.jsonerweiterung 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.confangegebenen 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) auf5. -
Wenn
Nonewird der Standardstil"iqp"verwendet oder, falls angegeben, der Standardstilin
~/.qiskit/settings.confangegeben.
-
-
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 Schubladetextverwendet, 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
Truewird der Schaltkreis in einem neuen Fenster angezeigt (beimplhä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 istFalse. -
reverse_bits (bool | None) – Bei der Einstellung
Truewird die Bitreihenfolge in den Registern für die Ausgangsvisualisierung umgekehrt. Der Standardwert istFalse, es sei denn, in der Benutzerkonfigurationsdatei (normalerweise~/.qiskit/settings.conf) ist ein anderer Wert eingestellt. Zum Beispielcircuit_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.noneführt dazu, dass jedes Tor in eine eigene Spalte gestellt wird. Die Standardeinstellung istleft. -
vertical_compression (str | None) –
high,mediumoderlow. Sie führt die von der Textausgabe erzeugten Linien zusammen, so dass die Zeichnung weniger vertikalen Raum einnimmt. Die Voreinstellung istmedium. Wird nur von der Ausgabetextverwendet, 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 Beispielcircuit_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
textkö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 mitshutil.get_terminal_size()zu erraten. Bei der Ausführung in Jupyter ist die Standardzeilenlänge jedoch auf 80 Zeichen festgelegt. Inmplist 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.AxesObjekt, 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 am Anfang der Qubit-Drähte und zu den klassischen Drähten hinzu. Der Standardwert ist
False. -
cregbundle (bool | None) – Wenn auf
Truegesetzt, bündeln Sie die klassischen Register. Die Voreinstellung istTrue, außer wennoutputauf"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 einExprals 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 Beispielcircuit_measure_arrows = False. -
barrier_label_len (int) – Die Anzahl der Zeichen, die für
BarrierBeschriftungen 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(wennoutput='text')Eine Zeichnung, die als Ascii-Art gedruckt werden kann.
-
matplotlib.figure.Figure(wennoutput='mpl')Ein Matplotlib-Figur-Objekt für den Schaltplan.
-
PIL.Image(ifoutput='latex')Eine speicherinterne Darstellung der Abbildung des Schaltplans.
-
str(wennoutput='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"})