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

양자 회로를 그립니다. 출력 매개변수를 사용하여 그리기 형식을 선택합니다:


text

콘솔에 출력할 수 있는 ASCII 아트 TextDrawing.


mpl

matplotlib을 사용하여 Python 에서 순수하게 색상이 렌더링된 이미지들.


latex

LaTeX 을 통해 수집된 고화질 이미지들.

경고

이 기능은 설계상 임의의 사용자 입력에 대해 설치된 pdflatex 시스템 버전의 를 호출하므로(예: 내에서 사용자 정의 Instruction.label코드를 렌더링하기 위해), 신뢰할 수 있는 데이터에만 사용해야 합니다.


latex_source

LaTeX 의 컴파일되지 않은 원본 출력. 이것이 latex 드로어가 렌더링할 내용의 원본입니다.

경고

조건 및 SwitchCaseOp.target 필드 내 노드에 대한 Expr 지원은 아직 초기 단계이며 불완전합니다. 와 mpl 서랍은 text 데이터 간의 종속성을 표시하기 위해 최선을 다하지만, LaTeX-based 서랍은 이를 완전히 생략합니다.

매개변수

  • circuit (QuantumCircuit) – 시각화할 회로.

  • scale (float | None) – 그릴 이미지의 배율( < 1.0)이면 축소합니다. mpl, latexlatex_source 출력에서만 사용됩니다. 기본값은 1.0 입니다.

  • filename (str | None) – 이미지를 저장할 파일 경로입니다. 기본값은 None (결과가 파일에 저장되지 않음)입니다.

  • style (dict |str | None) –

    스타일 이름, 스타일 JSON 파일의 파일 이름 또는 스타일을 지정하는 사전입니다.

    • 지원되는 스타일 이름은 "iqp" (기본값), "iqp-dark", "clifford" 입니다,

      "textbook""bw".

    • JSON 파일이 주어진 경우, 예를 들어 my_style.json 또는 my_style ( .json

      확장자를 생략할 수 있음), 이 함수는 해당 위치에서 스타일 사전을 로드하려고 시도합니다. JSON 파일은 시각화 사양을 완전히 지정해야 한다는 점에 유의하세요. 파일은 현재 작업 디렉터리인 qiskit/visualization/circuit/styles 에서 검색되며 ~/.qiskit/settings.conf 에 지정된 위치에서 검색됩니다.

    • 사전인 경우 모든 항목이 기본 구성을 재정의합니다. 해당

      "name" 키가 지정되면, 해당 스타일에 따라 기본 구성이 적용됩니다. 예를 들어, {"name": "textbook", "subfontsize": 5} 스타일을 "textbook" 불러오고 서브 폰트 크기(예: 게이트 각도)를 로 설정합니다 5.

    • ** None 인 경우 기본 스타일 "iqp" 이 사용되거나 기본 스타일이 지정되어 있는 경우**

      에 지정된 ~/.qiskit/settings.conf.

  • output (str | None) – 회로를 그리는 데 사용할 출력 방법을 선택합니다. 유효한 선택지는 text, mpl, latex, latex_source 입니다. 사용자 구성 파일(보통 ~/.qiskit/settings.conf)에 대체 백엔드가 기본값으로 설정되어 있지 않는 한 기본적으로 text 서랍이 사용됩니다. 예를 들어, circuit_drawer = latex입니다. 출력 kwarg가 설정되어 있으면 사용자 설정 파일의 기본값보다 항상 해당 백엔드가 사용됩니다.

  • interactive (bool) – True 로 설정하면 새 창에 회로가 표시됩니다( mpl 의 경우 이를 지원하는 matplotlib 백엔드에 따라 다릅니다). 텍스트 또는 latex_source 출력 유형과 함께 사용하면 아무런 효과가 없으며 자동으로 무시됩니다. 기본값은 False 입니다.

  • reverse_bits (bool | None) – True 로 설정하면 출력 시각화의 레지스터 내부 비트 순서가 반대로 바뀝니다. 사용자 구성 파일(일반적으로 ~/.qiskit/settings.conf)에 대체 값이 설정되어 있지 않은 경우 기본값은 False 입니다. 예: circuit_reverse_bits = True.

  • plot_barriers (bool) – 출력 회로에서 드로잉 배리어를 활성화/비활성화합니다. 기본값은 True 입니다.

  • justify (str | None) – 옵션은 "left", "right" 또는 "none" (str)입니다. 다른 항목이 제공되면 왼쪽 정당화가 대신 사용됩니다. 옵션이 있는 경우 출력 회로에서 게이트를 배치해야 하는 위치를 나타냅니다. none 를 사용하면 각 게이트가 자체 열에 배치됩니다. 기본값은 left 입니다.

  • vertical_compression (str | None) – high, medium 또는 low. 텍스트 출력에서 생성된 선을 병합하여 그림의 세로 공간이 줄어들도록 합니다. 기본값은 medium 입니다. text 출력에서만 사용되며, 그렇지 않으면 자동으로 무시됩니다.

  • idle_wires (bool |str | None) – 출력 시각화에 유휴 전선(회로 요소가 없는 전선)을 포함(또는 포함하지 않음)합니다. "auto" 문자열도 가능하며, 이 경우 회로에 레이아웃이 연결된 것을 제외하고 유휴 와이어가 표시됩니다. 사용자 구성 파일(일반적으로 ~/.qiskit/settings.conf)에 대체 값이 설정되어 있지 않는 한 기본값은 "auto" 입니다. 예: circuit_idle_wires = False.

  • with_layout (bool) – 실제 레이아웃에 레이블과 함께 레이아웃 정보를 포함하세요. 기본값은 True입니다.

  • fold (int | None) – 페이지 매김을 설정합니다. -1 을 사용하여 비활성화할 수 있습니다. text 에서 줄의 길이를 설정합니다. 이 기능은 도면이 콘솔에 맞지 않을 때 유용합니다. 없음(기본값)인 경우 shutil.get_terminal_size() 을 사용하여 콘솔 너비를 추측하려고 시도합니다. 그러나 주피터에서 실행하는 경우 기본 줄 길이는 80자로 설정됩니다. mpl 에서는 접기 전의 (시각적) 레이어 수입니다. 기본값은 25입니다.

  • ax (Any | None) – Mpl 백엔드에서만 사용됩니다. 시각화 출력에 사용할 matplotlib.axes.Axes 객체(선택 사항)입니다. 아무것도 지정하지 않으면 새 matplotlib 그림이 생성되어 사용됩니다. 또한 지정한 경우 중복되므로 반환되는 그림이 없습니다.

  • initial_state (bool) – 큐비트 와이어의 시작 부분에 0|0\rangle, 클래식 와이어에 00 을 추가합니다. 기본값은 False입니다.

  • cregbundle (bool | None) – True 로 설정하면 클래식 레지스터를 번들로 묶습니다. output"text" 로 설정된 경우를 제외하고 기본값은 True 입니다.

  • wire_order (list[int] | None) – 비트 표시 순서를 변경하는 데 사용되는 정수 목록입니다. 목록에는 0에서 (num_qubits + num_clbits) 범위의 비트가 있는 모든 비트에 대한 항목이 있어야 합니다.

  • ControlFlowOpexpr_len (int) – 에서 조건으로 가 Expr 사용될 경우 표시할 문자 수. 이 숫자를 초과할 경우, 문자열은 해당 숫자에서 잘리고 끝에 ‘…’가 추가됩니다.

  • measure_arrows (bool | None) – 'True'인 경우, 각 박자 상자에서 박자 값이 표시된 클래식 비트 또는 레지스터까지 화살표를 그립니다. False인 경우 화살표를 그리지 말고, 대신 해당 비트나 레지스터의 이름을 박스에 표시합니다. 사용자 설정 파일(보통 ~/.qiskit/settings.conf)에 다른 값이 지정되어 있지 않은 한, True 기본값은 입니다. 예: circuit_measure_arrows = False.

  • barrier_label_len (int) – 출력 회로에서 레이블에 Barrier 표시할 문자 수. 이 숫자를 초과할 경우, 문자열은 해당 숫자에서 잘리고 끝에 ‘…’가 추가됩니다.

리턴

TextDrawing 또는 matplotlib.figure 또는 PIL.Image str:

  • TextDrawing ( output='text')

    아씨 아트로 인쇄할 수 있는 그림입니다.

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

    회로도를 위한 matplotlib 그림 객체입니다.

  • PIL.Image ( output='latex')

    회로도 이미지의 인메모리 표현입니다.

  • str ( output='latex_source')

    회로도를 시각화하기 위한 LaTeX 소스 코드입니다.

레이즈

  • VisualizationError – 유효하지 않은 출력 방법이 선택된 경우
  • ImportError - 출력 메서드에 설치되지 않은 라이브러리가 필요한 경우.

예제

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"})
이전 코드에서 출력한 회로도입니다.
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.