qiskit.visualization.plot_bloch_multivector#

qiskit.visualization.plot_bloch_multivector(state, title='', figsize=None, *, rho=None, reverse_bits=False, filename=None, font_size=None, title_font_size=None, title_pad=1)[source]#

Plot a Bloch sphere for each qubit.

Each component \((x,y,z)\) of the Bloch sphere labeled as 'qubit i' represents the expected value of the corresponding Pauli operator acting only on that qubit, that is, the expected value of \(I_{N-1} \otimes\dotsb\otimes I_{i+1}\otimes P_i \otimes I_{i-1}\otimes\dotsb\otimes I_0\), where \(N\) is the number of qubits, \(P\in \{X,Y,Z\}\) and \(I\) is the identity operator.

Deprecated since version 0.15.1: qiskit.visualization.state_visualization.plot_bloch_multivector()'s argument rho is deprecated as of qiskit-terra 0.15.1. It will be removed no earlier than 3 months after the release date. Instead, use the argument state, which behaves identically.

Parameters:
  • state (Statevector or DensityMatrix or ndarray) -- an N-qubit quantum state.

  • title (str) -- a string that represents the plot title

  • figsize (tuple) -- size of each individual Bloch sphere figure, in inches.

  • reverse_bits (bool) -- If True, plots qubits following Qiskit's convention [Default:False].

  • font_size (float) -- Font size for the Bloch ball figures.

  • title_font_size (float) -- Font size for the title.

  • title_pad (float) -- Padding for the title (suptitle y position is y=1+title_pad/100).

Returns:

A matplotlib figure instance.

Return type:

matplotlib.figure.Figure

Raises:

Examples

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

qc = QuantumCircuit(2)
qc.h(0)
qc.x(1)

state = Statevector(qc)
plot_bloch_multivector(state)

(Source code)

../_images/qiskit-visualization-plot_bloch_multivector-1.png
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_bloch_multivector

qc = QuantumCircuit(2)
qc.h(0)
qc.x(1)

# You can reverse the order of the qubits.

from qiskit.quantum_info import DensityMatrix

qc = QuantumCircuit(2)
qc.h([0, 1])
qc.t(1)
qc.s(0)
qc.cx(0,1)

matrix = DensityMatrix(qc)
plot_bloch_multivector(matrix, title='My Bloch Spheres', reverse_bits=True)

(Source code)

../_images/qiskit-visualization-plot_bloch_multivector-2.png