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

# qiskit.visualization.pass\_manager\_drawer

`qiskit.visualization.pass_manager_drawer(pass_manager, filename=None, style=None, raw=False)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/visualization/pass_manager_visualization.py#L32-L97)

Draws the pass manager.

This function needs [pydot](https://github.com/pydot/pydot), which in turn needs [Graphviz](https://www.graphviz.org/) to be installed.

> **Warning**
>
> This function will call the system Graphviz tool on a file involving user-controllable strings (such as pass names). It is recommended to only call this function on trusted input.

**Parameters**

- **pass\_manager** ([*PassManager*](/docs/api/qiskit/qiskit.transpiler.PassManager "qiskit.transpiler.PassManager")) – the pass manager to be drawn
- **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – file path to save image to
- **style** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict) *or OrderedDict*) – keys are the pass classes and the values are the colors to make them. An example can be seen in the DEFAULT\_STYLE. An ordered dict can be used to ensure a priority coloring when pass falls into multiple categories. Any values not included in the provided dict will be filled in from the default dict
- **raw** ([*Bool*](/docs/api/qiskit/circuit_classical#qiskit.circuit.classical.types.Bool "qiskit.circuit.classical.types.Bool")) – True if you want to save the raw Dot output not an image. The default is False.

**Returns**

an in-memory representation of the pass manager. Or None if no image was generated or PIL is not installed.

**Return type**

PIL.Image or None

**Raises**

- [**MissingOptionalLibraryError**](/docs/api/qiskit/exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") – when nxpd or pydot not installed.
- [**VisualizationError**](/docs/api/qiskit/visualization#qiskit.visualization.VisualizationError "qiskit.visualization.VisualizationError") – If raw=True and filename=None.

**Example**

```python
from qiskit import QuantumCircuit
from qiskit.transpiler import generate_preset_pass_manager
from qiskit.visualization import pass_manager_drawer

pm = generate_preset_pass_manager(optimization_level=0)
pass_manager_drawer(pm)
```
