Skip to main content
IBM Quantum Platform

qiskit.visualization.dag_drawer

qiskit.visualization.dag_drawer(dag, scale=0.7, filename=None, style='color')

GitHub

Trace o gráfico acíclico direcionado (dag) para representar as dependências de operação em um circuito quântico.

Essa função chama a função graphviz_draw() do pacote rustworkx para desenhar o DAG.

Aviso

Esta função chamará a ferramenta Graphviz do sistema para processar um arquivo que contenha cadeias de caracteres controláveis pelo usuário (como rótulos de operações). Recomenda-se chamar esta função apenas com entradas confiáveis.

Parâmetros

  • dag (DAGCircuit orDAGDependency) – A droga para desenhar.

  • scale (float) – fator de escala

  • filename (str) – caminho do arquivo para salvar a imagem (formato inferido a partir do nome)

  • style (dict orstr) –

    Nome do estilo, nome do arquivo JSON do estilo ou um dicionário que especifique o estilo.

    • Os nomes de estilo suportados são 'plain': Gráfico B&W, 'color' (padrão):

      (nós de entrada/saída/op de cores)

    • Se for fornecido um arquivo JSON, por exemplo my_style.json ou my_style (o .json

      pode ser omitida), essa função tenta carregar o dicionário de estilos a partir desse local. Observe que o arquivo JSON deve especificar completamente as especificações de visualização. O arquivo é pesquisado em qiskit/visualization/circuit/styles, no diretório de trabalho atual e no local especificado em ~/.qiskit/settings.conf.

    • Se None , o estilo padrão "color" é usado ou, se fornecido, o estilo padrão

      especificado em ~/.qiskit/settings.conf.

Retorna

se estiver no notebook Jupyter e não estiver salvando em um arquivo,

caso contrário, nenhum.

Tipo de retorno

PIL.Image

Aumentos

  • VisualizationError - quando o estilo não é reconhecido.
  • InvalidFileError - quando o nome de arquivo fornecido não é válido
  • ValueError - Se a extensão do arquivo filename não for um tipo de imagem compatível com o Graphviz.

Exemplo

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)
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.