qiskit-documentation/docs/api/qiskit/1.2/qiskit.visualization.plot_s...

88 lines
4.5 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: plot_state_city (v1.2)
description: API reference for qiskit.visualization.plot_state_city in qiskit v1.2
in_page_toc_min_heading_level: 1
python_api_type: function
python_api_name: qiskit.visualization.plot_state_city
---
<span id="qiskit-visualization-plot-state-city" />
# qiskit.visualization.plot\_state\_city
<Function id="qiskit.visualization.plot_state_city" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/visualization/state_visualization.py#L360-L608" signature="qiskit.visualization.plot_state_city(state, title='', figsize=None, color=None, alpha=1, ax_real=None, ax_imag=None, *, filename=None)">
Plot the cityscape of quantum state.
Plot two 3d bar graphs (two dimensional) of the real and imaginary part of the density matrix rho.
**Parameters**
* **state** ([*Statevector*](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") *or*[*DensityMatrix*](qiskit.quantum_info.DensityMatrix "qiskit.quantum_info.DensityMatrix") *or ndarray*) an N-qubit quantum state.
* **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) a string that represents the plot title
* **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")) Figure size in inches.
* **color** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")) A list of len=2 giving colors for real and imaginary components of matrix elements.
* **alpha** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) Transparency value for bars
* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.9.2)")) An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant.
* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.9.2)")) An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_real only the imaginary component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant.
**Returns**
The matplotlib.Figure of the visualization if the `ax_real` and `ax_imag` kwargs are not set
**Return type**
[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure "(in Matplotlib v3.9.2)")
**Raises**
* [**MissingOptionalLibraryError**](exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") Requires matplotlib.
* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.13)") When color is not a list of len=2.
* [**VisualizationError**](visualization#qiskit.visualization.VisualizationError "qiskit.visualization.VisualizationError") if input is not a valid N-qubit state.
**Examples**
```python
# You can choose different colors for the real and imaginary parts of the density matrix.
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)
state = DensityMatrix(qc)
plot_state_city(state, color=['midnightblue', 'crimson'], title="New State City")
```
![../\_images/qiskit-visualization-plot\_state\_city-1.png](/images/api/qiskit/1.2/qiskit-visualization-plot_state_city-1.avif)
```python
# You can make the bars more transparent to better see the ones that are behind
# if they overlap.
import numpy as np
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_state_city
from qiskit import QuantumCircuit
qc = QuantumCircuit(2)
qc.h(0)
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)
state = Statevector(qc)
plot_state_city(state, alpha=0.6)
```
![../\_images/qiskit-visualization-plot\_state\_city-2.png](/images/api/qiskit/1.2/qiskit-visualization-plot_state_city-2.avif)
</Function>