Skip to main content
IBM Quantum Platform

Visualizaciones

qiskit.visualization

El módulo de visualización contiene funciones que visualizan recuentos de resultados de medición, estados cuánticos, circuitos, dispositivos y mucho más.

Para utilizar las funciones de visualización, es necesario instalar opciones de visualización en el entorno de desarrollo:

pip install 'qiskit[visualization]'
Aviso

En general, las herramientas de visualización de Qiskit pueden ejecutar programas del sistema a partir de entradas arbitrarias del usuario, por lo que solo deben utilizarse con entradas fiables. Las herramientas de visualización que ofrece Qiskit están pensadas principalmente para la visualización local y permiten deliberadamente la inserción de código de usuario en varios lugares, como las etiquetas de nodos de Graphviz (por ejemplo, los nombres de registros en DAGCircuit.draw()) o las etiquetas de instrucciones de « LaTeX » de Instruction.label en el latex modo de QuantumCircuit.draw().


Argumentos comunes sobre palabras clave

Muchas de las figuras creadas por las funciones de visualización en este módulo son creadas por Matplotlib y aceptan un subconjunto de los siguientes argumentos comunes. Consulte la documentación individual para conocer los detalles exactos.

  • title (str): una cadena de texto para el título de la trama.
  • legend (list): una lista de cadenas que se utilizarán para las etiquetas de los datos.
  • figsize (tuple): tamaño de la figura en pulgadas.
  • color (list): una lista de cadenas para trazar.
  • ax ( matplotlib.axes.Axes ): Un objeto opcional Axes que se utilizará para la salida de visualización. Si no se especifica ninguno, se creará y utilizará un nuevo matplotlib.figure.Figure será creado y utilizado. Además, si se especifica no se devolverá Figure ya que es redundante.
  • filename (str): ruta de archivo donde guardar la imagen.

El siguiente ejemplo muestra el uso habitual de estos argumentos:

from qiskit.visualization import plot_histogram

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

data = [counts1, counts2]
plot_histogram(data)
Salida del código anterior.

Puede especificar legend, title, figsize y color pasando a los 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)
Salida del código anterior.

Puede guardar la figura en un archivo pasando el nombre del archivo a filename kwarg o utilizando el método matplotlib.figure.Figure.savefig método.

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

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

Visualizaciones de recuentos

Esta sección contiene funciones que visualizan los recuentos de los resultados de las mediciones.

plot_histogram(data[, figsize, color,...] )Trazar un histograma de los datos de recuento de entrada.

Uso de ejemplo

He aquí un ejemplo de uso de plot_histogram() para visualizar los recuentos de los resultados de las mediciones:

from qiskit.visualization import plot_histogram

counts = {"00": 501, "11": 499}
plot_histogram(counts)
Salida del código anterior.

Los datos pueden ser un diccionario con cadena de bits como clave y cuentas como valor, o más comúnmente un Counts obtenido a partir de get_counts().


Visualizaciones de distribución

Esta sección contiene funciones que visualizan distribuciones muestreadas.

plot_distribution(data[, figsize, color,...] )Trazar una distribución a partir de datos muestreados de entrada.

Visualizaciones estatales

Esta sección contiene funciones que visualizan estados cuánticos.

plot_bloch_vector(bloch[, título, ax,...] )Traza la esfera de Bloch.
plot_bloch_multivector(estado[, título,...] )Traza una esfera de Bloch para cada qubit.
plot_state_city(estado[, título, tamaño de la figura,...] )Traza el paisaje urbano del estado cuántico.
plot_state_hinton(estado[, título, tamaño de la figura,...] )Traza un diagrama de Hinton para la matriz de densidad de un estado cuántico.
plot_state_paulivec(estado[, título, tamaño de la figura,...] )Representar el vector Pauli de un estado cuántico en forma de gráfico de barras.
plot_state_qsphere(state[, figsize, ax,...] )Trazar la representación qsphere de un estado cuántico.

Uso de ejemplo

He aquí un ejemplo del uso de plot_state_city() para visualizar un estado cuántico:

from qiskit.visualization import plot_state_city

state = [[ 0.75  , 0.433j],
         [-0.433j, 0.25  ]]
plot_state_city(state)
Salida del código anterior.

El estado puede ser una lista de listas tipo array, numpy.array, o más comúnmente Statevector o DensityMatrix objetos obtenidos a partir de un 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)
Salida del 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)
Salida del código anterior.

Puede encontrar ejemplos de código para cada función de visualización en la página API de cada función.


Visualizaciones de dispositivos

plot_gate_map(backend[, figsize,...] )Traza el mapa de puertas de un dispositivo.
plot_error_map(backend[, figsize,...] )Traza el mapa de errores de un backend dado.
plot_circuit_layout(circuito, backend[,...] )Trazar la disposición de un circuito transpilado para un determinado backend de destino.
plot_coupling_map(num_qubits,...[,...] )Traza un mapa de acoplamiento arbitrario de qubits (incrustado en un plano).

Visualizaciones de circuitos

circuit_drawer(circuito[, escala, nombre de archivo,...] )Dibuja el circuito cuántico.

Visualizaciones DAG

dag_drawer(dag[, escala, nombre de archivo, estilo] )Trazar el grafo acíclico dirigido (dag) para representar las dependencias de las operaciones en un circuito cuántico.

Visualizaciones del administrador de contraseñas

pass_manager_drawer(pass_manager[,...] )Dibuja el gestor de pases.

Visualizaciones de líneas de tiempo

timeline_drawer(programa[, estilo,...] )Generar datos de visualización para programas de circuitos programados.

Visualizaciones de transiciones de estados de un solo qubit

visualize_transition(circuito[, traza,...] )Crea una animación que muestre las transiciones entre estados de un único qubit aplicando puertas cuánticas.

Visualizaciones de matrices/matrices

array_to_latex(matriz[, precisión, prefijo,...] )Representación en Latex de una matriz numpy compleja (con dimensión 1 ó 2)

Excepciones

VisualizationError

exception qiskit.visualization.VisualizationError(*message)

GitHub

Bases: QiskitError

Para errores específicos de visualización.

Configura el mensaje de error.

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.