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

# qiskit.visualization.plot\_circuit\_layout

`qiskit.visualization.plot_circuit_layout(circuit, backend, view='virtual', qubit_coordinates=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/visualization/gate_map.py#L1132-L1231)

Plot the layout of a circuit transpiled for a given target backend.

**Parameters**

- **circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – Input quantum circuit.

- **backend** ([*Backend*](/docs/api/qiskit/qiskit.providers.Backend "qiskit.providers.Backend")) – Target backend.

- **view** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) –

  How to label qubits in the layout. Options:

  - `"virtual"`: Label each qubit with the index of the virtual qubit that mapped to it.
  - `"physical"`: Label each qubit with the index of the physical qubit that it corresponds to on the device.

- **qubit\_coordinates** (*Sequence*) – An optional sequence input (list or array being the most common) of 2d coordinates for each qubit. The length of the sequence must match the number of qubits on the backend. The sequence should be the planar coordinates in a 0-based square grid where each qubit is located.

**Returns**

A matplotlib figure showing layout.

**Return type**

Figure

**Raises**

- [**QiskitError**](/docs/api/qiskit/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – Invalid view type given.
- [**VisualizationError**](/docs/api/qiskit/visualization#qiskit.visualization.VisualizationError "qiskit.visualization.VisualizationError") – Circuit has no layout attribute.

**Example**

```python
from qiskit import QuantumCircuit, transpile
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.visualization import plot_circuit_layout

ghz = QuantumCircuit(3, 3)
ghz.h(0)
for idx in range(1,3):
    ghz.cx(0,idx)
ghz.measure(range(3), range(3))

backend = GenericBackendV2(num_qubits=5)
new_circ_lv3 = transpile(ghz, backend=backend, optimization_level=3)
plot_circuit_layout(new_circ_lv3, backend)
```

![Output from the previous code.](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/qiskit-visualization-plot_circuit_layout-1.avif)
