qiskit.visualization.dag_drawer
qiskit.visualization.dag_drawer(dag, scale=0.7, filename=None, style='color')
양자 회로의 연산 종속성을 나타내기 위해 방향 비순환 그래프(dag)를 플롯합니다.
이 함수는 패키지의 graphviz_draw()rustworkx 함수를 호출하여 DAG를 그립니다.
이 함수는 사용자가 제어할 수 있는 문자열(예: 연산 레이블)이 포함된 파일에 대해 시스템의 Graphviz 도구를 호출합니다. 이 함수는 신뢰할 수 있는 입력에 대해서만 호출하는 것이 좋습니다.
매개변수
-
dag (DAGCircuit orDAGDependency) – 그려야 할 다그.
-
scale (float) – 스케일링 계수
-
filename (str) – 이미지를 저장할 파일 경로 (파일 이름에서 형식을 추론함)
-
스타일 이름, 스타일 JSON 파일의 파일 이름 또는 스타일을 지정하는 사전입니다.
-
지원되는 스타일 이름은 '플레인'입니다: 흑백 그래프, '컬러'(기본값)입니다:
(컬러 입력/출력/옵 노드)
-
JSON 파일이 주어진 경우, 예를 들어
my_style.json또는my_style(.json확장자를 생략할 수 있음), 이 함수는 해당 위치에서 스타일 사전을 로드하려고 시도합니다. JSON 파일은 시각화 사양을 완전히 지정해야 한다는 점에 유의하세요. 파일은 현재 작업 디렉터리인
qiskit/visualization/circuit/styles에서 검색되며~/.qiskit/settings.conf에 지정된 위치에서 검색됩니다. -
**
None인 경우 기본 스타일"color"이 사용되며, 기본 스타일이 지정되지 않은 경우 기본 스타일**에 지정된
~/.qiskit/settings.conf.
-
리턴
파일에 저장하지 않고 Jupyter 노트북에 있는 경우,
그렇지 않으면 없음.
리턴 유형
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)