---
title: plot_state_qsphere (latest version)
description: API reference for qiskit.visualization.plot_state_qsphere in the latest version of qiskit
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/qiskit.visualization.plot_state_qsphere
---

# 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](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/visualization/state_visualization.py#L812-L1105)

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*](/docs/api/qiskit/qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector")  *or*[*DensityMatrix*](/docs/api/qiskit/qiskit.quantum_info.DensityMatrix "qiskit.quantum_info.DensityMatrix") *or ndarray*) – an N-qubit quantum state.
- **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple)) – Figure size in inches.
- **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.11.0)")) – 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*](https://docs.python.org/3/library/functions.html#bool)) – An optional boolean indicating whether to show labels for each basis state.
- **show\_state\_phases** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – An optional boolean indicating whether to show the phase for each basis state.
- **use\_degrees** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – An optional boolean indicating whether to use radians or degrees for the phase values in the plot.
- **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#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`](https://matplotlib.org/stable/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure "(in Matplotlib v3.11.0)")

**Raises**

- [**MissingOptionalLibraryError**](/docs/api/qiskit/exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") – Requires matplotlib.
- [**VisualizationError**](/docs/api/qiskit/visualization#qiskit.visualization.VisualizationError "qiskit.visualization.VisualizationError") – Input is not a valid N-qubit state.
- [**QiskitError**](/docs/api/qiskit/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – Input statevector does not have valid dimensions.

**Examples**

```python
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.](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/qiskit-visualization-plot_state_qsphere-1.avif)

```python
# 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.](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/qiskit-visualization-plot_state_qsphere-2.avif)
