Skip to main content
IBM Quantum Platform
This page is from the dev version of Qiskit SDK. Go to the stable version.

qiskit.visualization.plot_state_qsphere

qiskit.visualization.plot_state_qsphere(state, figsize=None, ax=None, show_state_labels=True, show_state_phases=False, use_degrees=False, *, filename=None)

GitHub

Plot the qsphere representation of a quantum state. Here, the size of the points is proportional to the probability of the corresponding term in the state and the color represents the phase.

Parameters

  • state (Statevector orDensityMatrix or ndarray) – an N-qubit quantum state.
  • figsize (tuple) – Figure size in inches.
  • ax (matplotlib.axes.Axes) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant.
  • show_state_labels (bool) – An optional boolean indicating whether to show labels for each basis state.
  • show_state_phases (bool) – An optional boolean indicating whether to show the phase for each basis state.
  • use_degrees (bool) – An optional boolean indicating whether to use radians or degrees for the phase values in the plot.
  • filename (str | None) – The optional file path to save image to. If not specified no file is created for the visualization. If this is set the return from this function will be None.

Returns

A matplotlib figure instance if the ax kwarg is not set

Return type

matplotlib.figure.Figure

Raises

Examples

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

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

state = Statevector(qc)
plot_state_qsphere(state)
Output from the previous code.
# You can show the phase of each state and use
# degrees instead of radians

from qiskit.quantum_info import DensityMatrix
import numpy as np
from qiskit import QuantumCircuit
from qiskit.visualization import plot_state_qsphere

qc = QuantumCircuit(2)
qc.h([0, 1])
qc.cz(0,1)
qc.ry(np.pi/3, 0)
qc.rx(np.pi/5, 1)
qc.z(1)

matrix = DensityMatrix(qc)
plot_state_qsphere(matrix,
     show_state_phases = True, use_degrees = True)
Output from the previous code.
Was this page helpful?
Report a bug, typo, or request content on GitHub.