{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "33f4bb3c",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"회로 타이밍 시각화\"\n",
        "description: \"생성된 회로의 타이밍을 시각화하여 볼 수 있고, 다운로드할 수 있으며, 둘 다 가능한 그림을 생성하십시오.\"\n",
        "---\n",
        "\n",
        "{/* cspell:ignore mactex, backgroundcolor, lightgreen */}\n",
        "\n",
        "<span id=\"visualize-circuit-timing\" />\n",
        "\n",
        "# 회로 타이밍 시각화\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "bfada4f0",
      "metadata": {
        "tags": [
          "version-info"
        ]
      },
      "source": [
        "{/*\n",
        "  DO NOT EDIT THIS CELL!!!\n",
        "  This cell's content is generated automatically by a script. Anything you add\n",
        "  here will be removed next time the notebook is run. To add new content, create\n",
        "  a new cell before or after this one.\n",
        "  */}\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"패키지 버전\">\n",
        "    이 페이지의 코드는 다음 요구 사항을 사용하여 개발되었습니다.\n",
        "    이 버전 또는 그 이상의 버전을 사용하는 것을 권장합니다.\n",
        "\n",
        "    ```\n",
        "    qiskit[all]~=2.5.2\n",
        "    ```\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "c3240c62",
      "metadata": {},
      "source": [
        "[회로에 대한 지침을 시각화하는](/docs/guides/visualize-circuits) 것 외에도, Qiskit [`timeline_drawer`](/docs/api/qiskit/qiskit.visualization.timeline_drawer) 메서드를 사용하여 회로의 스케줄링을 시각화할 수도 있습니다. 예를 들어, 이 시각화 자료를 통해 큐비트의 유휴 시간을 빠르게 파악하는 데 도움이 될 수 있습니다. 그러나 이 방법은 동적 회로에 대해서는 정확한 결과를 반환하지 않습니다.  동적 회로 스케줄링을 시각화하려면 [‘회로 타이밍](/docs/guides/qiskit-runtime-circuit-timing) 시각화’ 가이드에 설명된 대로 해당 `draw_circuit_schedule_timing` 메서드를 사용하십시오.\n",
        "\n",
        "<span id=\"examples\" />\n",
        "\n",
        "## 예\n",
        "\n",
        "예약된 회로 프로그램을 시각화하려면 제어 인수 집합을 사용하여 이 함수를 호출할 수 있습니다. 대부분의 출력 이미지 모양은 스타일시트를 사용하여 수정할 수 있지만 반드시 필요한 것은 아닙니다.\n",
        "\n",
        "<span id=\"draw-with-the-default-stylesheet\" />\n",
        "\n",
        "### 기본 스타일시트로 그리기\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "5b21b8c1",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/guides/visualize-circuit-timing/extracted-outputs/5b21b8c1-0.svg\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "execution_count": 1,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from qiskit import QuantumCircuit\n",
        "from qiskit.visualization.timeline import draw\n",
        "from qiskit.providers.fake_provider import GenericBackendV2\n",
        "from qiskit.transpiler import generate_preset_pass_manager\n",
        "\n",
        "qc = QuantumCircuit(2)\n",
        "qc.h(0)\n",
        "qc.cx(0, 1)\n",
        "\n",
        "backend = GenericBackendV2(5)\n",
        "\n",
        "pm = generate_preset_pass_manager(backend=backend, optimization_level=1)\n",
        "isa_circuit = pm.run(qc)\n",
        "\n",
        "draw(isa_circuit, target=backend.target)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "37f62ecd",
      "metadata": {},
      "source": [
        "<span id=\"draw-with-a-stylesheet-suited-for-program-debugging\" />\n",
        "\n",
        "### 프로그램 디버깅에 적합한 스타일시트로 그리기\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "907dc46c",
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<Image src=\"/docs/images/guides/visualize-circuit-timing/extracted-outputs/907dc46c-0.svg\" alt=\"Output of the previous code cell\" />"
            ]
          },
          "execution_count": 2,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from qiskit import QuantumCircuit\n",
        "from qiskit.visualization.timeline import draw, IQXDebugging\n",
        "from qiskit.providers.fake_provider import GenericBackendV2\n",
        "from qiskit.transpiler import generate_preset_pass_manager\n",
        "\n",
        "qc = QuantumCircuit(2)\n",
        "qc.h(0)\n",
        "qc.cx(0, 1)\n",
        "qc.measure_all()\n",
        "\n",
        "backend = GenericBackendV2(5)\n",
        "pm = generate_preset_pass_manager(backend=backend, optimization_level=1)\n",
        "isa_circuit = pm.run(qc)\n",
        "draw(isa_circuit, style=IQXDebugging(), target=backend.target)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "5406fe18",
      "metadata": {},
      "source": [
        "사용자 정의 생성기 또는 레이아웃 함수를 생성하고 사용자 정의 함수로 기존 스타일시트를 업데이트할 수 있습니다. 이렇게 하면 예약된 회로 서랍의 코드베이스를 수정하지 않고도 출력 이미지의 대부분의 모양을 제어할 수 있습니다.  참조 [`timeline_drawer`](/docs/api/qiskit/qiskit.visualization.timeline_drawer) API 참조를 참조하세요.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "9daa7cf7",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## 다음 단계\n",
        "\n",
        "<Admonition type=\"tip\" title=\"권장사항\">\n",
        "  * IBM Quantum Compute Service를 사용할 때 [회로 타이밍을 시각화하세요](/docs/guides/qiskit-runtime-circuit-timing)\n",
        "  * [회로 시각화](/docs/guides/visualize-circuits)\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "id": "a1b8767d",
      "source": "© IBM Corp., 2017-2026"
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}