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]'Em geral, as ferramentas de visualização do Qiskit podem chamar programas do sistema com base em 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 deliberadamente a inserção de código do usuário em vários pontos, como rótulos de nós do Graphviz (por exemplo, nomes de registros) DAGCircuit.draw() ou rótulos de Instruction.label instruções do QuantumCircuit.draw()LaTeX no latex modo do.
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 objetoAxesopcional 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çoFigure, 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)
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)
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.
plot_histogram(data[, figsize, color,...] ) | Traçar um histograma dos dados de contagem de entrada. |
Uso de Exemplo
Aqui está um exemplo de uso do plot_histogram() para visualizar contagens de resultados de medição:
from qiskit.visualization import plot_histogram
counts = {"00": 501, "11": 499}
plot_histogram(counts)
Os dados podem ser um dicionário com uma cadeia de bits como chave e contagens como valor ou, mais comumente, um objeto Counts obtido de um objeto get_counts().
Visualizações de distribuição
Esta seção contém funções que visualizam distribuições amostradas.
plot_distribution(data[, figsize, color,...] ) | 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.
plot_bloch_vector(bloch[, title, ax,...] ) | 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(state[, figsize, ax,...] ) | Trace a representação qsphere de um estado quântico. |
Uso de Exemplo
Aqui está um exemplo de uso do 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)
O estado pode ser uma lista de listas do tipo array, numpy.array, ou, mais comumente Statevector ou DensityMatrix objetos obtidos 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)
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)
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
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
circuit_drawer(circuito[, escala, nome do arquivo,...] ) | Desenhe o circuito quântico. |
Visualizações DAG
dag_drawer(dag[, 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
pass_manager_drawer(pass_manager[,...] ) | Desenha o gerenciador de passes. |
Visualizações da linha do tempo
timeline_drawer(programa[, estilo,...] ) | Gerar dados de visualização para programas de circuitos programados. |
Visualizações de transição de estado de qubit único
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
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)
Bases: QiskitError
Para erros específicos de visualização.
Defina a mensagem de erro.