qiskit.visualization.plot_state_paulivec(state, title='', figsize=None, color=None, ax=None, *, rho=None, filename=None)[source]#

Plot the Pauli-vector representation of a quantum state as bar graph.

The Pauli-vector of a density matrix \(\rho\) is defined by the expectation of each possible tensor product of single-qubit Pauli operators (including the identity), that is

\[\rho = \frac{1}{2^n} \sum_{\sigma \in \{I, X, Y, Z\}^{\otimes n}} \mathrm{Tr}(\sigma \rho) \sigma.\]

This function plots the coefficients \(\mathrm{Tr}(\sigma\rho)\) as bar graph.

Deprecated since version 0.15.1: qiskit.visualization.state_visualization.plot_state_paulivec()’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.

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

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

  • figsize (tuple) – Figure size in inches.

  • color (list or str) – Color of the coefficient value bars.

  • 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.


The matplotlib.Figure of the visualization if the ax kwarg is not set

Return type:




# You can set a color for all the bars.

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

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

state = Statevector(qc)
plot_state_paulivec(state, color='midnightblue', title="New PauliVec plot")

(Source code)

# If you introduce a list with less colors than bars, the color of the bars will
# alternate following the sequence from the list.

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

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

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

matrix = DensityMatrix(qc)
plot_state_paulivec(matrix, color=['crimson', 'midnightblue', 'seagreen'])

(Source code)