qiskit.visualization.dag_drawer
qiskit.visualization.dag_drawer(dag, scale=0.7, filename=None, style='color')
量子回路の演算依存関係を表す有向無サイクルグラフ(dag)をプロットする。
この関数は graphviz_draw()rustworkx 関数を呼び出す。
この関数は、ユーザーが制御可能な文字列(操作ラベルなど)を含むファイルに対して、システムのGraphvizツールを呼び出します。 この関数は、信頼できる入力に対してのみ呼び出すことを推奨します。
パラメーター
-
dag (DAGCircuit orDAGDependency) – ドローするダグ。
-
scale (float) – スケーリングファクター
-
filename (str) – 画像を保存するファイルパス(形式はファイル名から判別されます)
-
スタイル名、スタイルJSONファイルのファイル名、またはスタイルを指定する辞書。
-
サポートされているスタイル名は 'plain' である:B&Wグラフ、'color' (デフォルト):
(カラー入出力ノード)
-
JSONファイルが与えられた場合、例えば
my_style.jsonまたはmy_style(.json拡張子は省略可)、この関数はその場所からスタイル辞書をロードしようとします。 JSONファイルは、視覚化の仕様を完全に指定しなければならないことに注意してください。 ファイルは
qiskit/visualization/circuit/styles、現在の作業ディレクトリ、および~/.qiskit/settings.confで指定された場所で検索される。 -
**
Noneの場合はデフォルトのスタイル"color"が使われ、与えられた場合はデフォルトのスタイル**~/.qiskit/settings.confで指定されている。
-
戻り値
もしJupyter notebookでファイルに保存していない場合、
それ以外はなし。
戻りの型
PIL.Image
レイズ
- VisualizationError - スタイルが認識されない場合
- InvalidFileError - 指定されたファイル名が無効な場合
- ValueError -
filenameのファイル拡張子が、Graphvizでサポートされている画像タイプでない場合。
例
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.converters import circuit_to_dag
from qiskit.visualization import dag_drawer
q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
with circ.if_test((c, 2)):
circ.rz(0.5, q[1])
dag = circuit_to_dag(circ)
style = {
"inputnodecolor": "pink",
"outputnodecolor": "lightblue",
"opnodecolor": "red",
}
dag_drawer(dag, style=style)