Skip to main content
IBM Quantum Platform

Visualizações

qiskit.visualization

O módulo de visualização contém funções que visualizam contagens de resultados de medição, estados quânticos, circuitos, dispositivos e muito mais.

Para usar as funções de visualização, é necessário instalar as opções de visualização em seu ambiente de desenvolvimento:

pip install 'qiskit[visualization]'
Aviso

De modo geral, as ferramentas de visualização do Qiskit podem chamar programas do sistema a partir de entradas arbitrárias do usuário e devem ser utilizadas apenas com entradas confiáveis. As ferramentas de visualização fornecidas pelo Qiskit destinam-se principalmente à visualização local e permitem, de forma deliberada, a inserção de código pelo usuário em vários pontos, como rótulos de nós do Graphviz — por DAGCircuit.draw()exemplo, nomes de registros — ou rótulos de Instruction.label instruções do LaTeX no modo latex do QuantumCircuit.draw().


Argumentos comuns de palavras-chave

Muitas das figuras criadas pelas funções de visualização neste módulo são criadas por Matplotlib e aceitam um subconjunto dos seguintes argumentos comuns. Consulte a documentação individual para obter detalhes exatos.

  • title (str): uma cadeia de texto a ser usada para o título do enredo.
  • legend (list): uma lista de cadeias de caracteres a serem usadas para os rótulos dos dados.
  • figsize (tuple): tamanho da figura em polegadas.
  • color (list): uma lista de cadeias de caracteres para plotagem.
  • ax ( matplotlib.axes.Axes ): Um objeto Axes opcional a ser usado para a saída da visualização. Se nenhum for especificado, um novo matplotlib.figure.Figure será criado e usado. Além disso, se especificado, não será retornado o endereço Figure , pois ele é redundante.
  • filename (str): caminho do arquivo para salvar a imagem.

O exemplo a seguir demonstra o uso comum desses argumentos:

from qiskit.visualization import plot_histogram

counts1 = {'00': 499, '11': 501}
counts2 = {'00': 511, '11': 489}

data = [counts1, counts2]
plot_histogram(data)
Saída do código anterior.

Você pode especificar legend, title, figsize e color passando para os kwargs.

from qiskit.visualization import plot_histogram

counts1 = {'00': 499, '11': 501}
counts2 = {'00': 511, '11': 489}
data = [counts1, counts2]

legend = ['First execution', 'Second execution']
title = 'New histogram'
figsize = (10,10)
color=['crimson','midnightblue']
plot_histogram(data, legend=legend, title=title, figsize=figsize, color=color)
Saída do código anterior.

Você pode salvar a figura em um arquivo passando o nome do arquivo para filename kwarg ou usando o método matplotlib.figure.Figure.savefig method.

plot_histogram(data, filename='new_hist.png')

hist = plot_histogram(data)
hist.savefig('new_hist.png')

Contagens Visualizações

Esta seção contém funções que visualizam contagens de resultados de medição.

Coluna “ 1 ”
Coluna “ 2 ”
plot_histogram(dados[, tamanho da figura, cor,...] )Traçar um histograma dos dados de contagem de entrada.

Uso de Exemplo

Aqui está um exemplo de como usar plot_histogram() para visualizar as contagens dos resultados das medições:

from qiskit.visualization import plot_histogram

counts = {"00": 501, "11": 499}
plot_histogram(counts)
Saída do código anterior.

Os dados podem ser um dicionário com uma sequência de bits como chave e contagens como valor, ou, mais comumente, um Counts objeto obtido de get_counts().


Visualizações de distribuição

Esta seção contém funções que visualizam distribuições amostradas.

Coluna “ 1 ”
Coluna “ 2 ”
plot_distribution(dados[, tamanho da figura, cor,...] )Traçar uma distribuição a partir de dados amostrados de entrada.

Visualizações do estado

Esta seção contém funções que visualizam estados quânticos.

Coluna “ 1 ”
Coluna “ 2 ”
plot_bloch_vector(Bloch[, título, machado,...] )Trace a esfera de Bloch.
plot_bloch_multivector(estado[, título,...] )Trace uma esfera de Bloch para cada qubit.
plot_state_city(estado[, título, tamanho da figura,...] )Trace a paisagem urbana do estado quântico.
plot_state_hinton(estado[, título, tamanho da figura,...] )Trace um diagrama de Hinton para a matriz de densidade de um estado quântico.
plot_state_paulivec(estado[, título, tamanho da figura,...] )Trace a representação do vetor de Pauli de um estado quântico como um gráfico de barras.
plot_state_qsphere(estado[, tamanho da figura, eixo,...] )Trace a representação qsphere de um estado quântico.

Uso de Exemplo

Aqui está um exemplo de como usar plot_state_city() para visualizar um estado quântico:

from qiskit.visualization import plot_state_city

state = [[ 0.75  , 0.433j],
         [-0.433j, 0.25  ]]
plot_state_city(state)
Saída do código anterior.

O estado pode ser uma lista de listas semelhante a um array, numpy.array ou, mais comumente Statevector , DensityMatrix objetos obtidos a partir de um QuantumCircuit:

from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_state_city

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)

# plot using a Statevector
state = Statevector(qc)
plot_state_city(state)
Saída do código anterior.
from qiskit import QuantumCircuit
from qiskit.quantum_info import DensityMatrix
from qiskit.visualization import plot_state_city

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)

# plot using a DensityMatrix
state = DensityMatrix(qc)
plot_state_city(state)
Saída do código anterior.

Você pode encontrar exemplos de código para cada função de visualização na página da API de função individual.


Visualizações do dispositivo

Coluna “ 1 ”
Coluna “ 2 ”
plot_gate_map(backend[, figsize,...] )Plota o mapa de portas de um dispositivo.
plot_error_map(backend[, figsize,...] )Plota o mapa de erros de um determinado backend.
plot_circuit_layout(circuito, backend[,...] )Traçar o layout de um circuito transpilado para um determinado backend de destino.
plot_coupling_map(num_qubits,...[,...] )Plota um mapa de acoplamento arbitrário de qubits (incorporado em um plano).

Visualizações de circuitos

Coluna “ 1 ”
Coluna “ 2 ”
circuit_drawer(circuito[, escala, nome do arquivo,...] )Desenhe o circuito quântico.

Visualizações DAG

Coluna “ 1 ”
Coluna “ 2 ”
dag_drawer(dia[, escala, nome do arquivo, estilo] )Trace o gráfico acíclico direcionado (dag) para representar as dependências de operação em um circuito quântico.

Visualizações do Gerenciador de Senhas

Coluna “ 1 ”
Coluna “ 2 ”
pass_manager_drawer(pass_manager[,...] )Desenha o gerenciador de passes.

Visualizações da linha do tempo

Coluna “ 1 ”
Coluna “ 2 ”
timeline_drawer(programa[, estilo,...] )Gerar dados de visualização para programas de circuitos programados.

Visualizações de transição de estado de qubit único

Coluna “ 1 ”
Coluna “ 2 ”
visualize_transition(circuito[, traço,...] )Cria uma animação que mostra as transições entre os estados de um único qubit aplicando portas quânticas.

Visualizações de matrizes/matrizes

Coluna “ 1 ”
Coluna “ 2 ”
array_to_latex(matriz[, precisão, prefixo,...] )Representação em látex de uma matriz numérica complexa (com dimensão 1 ou 2)

Exceções

VisualizationError

exception qiskit.visualization.VisualizationError(*message)

GitHub

Bases: QiskitError

Para erros específicos de visualização.

Defina a mensagem de erro.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.