---
title: pass_manager_drawer (v1.0)
description: API reference for qiskit.visualization.pass_manager_drawer in qiskit v1.0
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.0/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/1.0/qiskit/utils/lazy_tester.py#L32-L101)

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.

**Parameters**

- **pass\_manager** ([*PassManager*](/docs/api/qiskit/1.0/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/1.0/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/1.0/exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") – when nxpd or pydot not installed.
- [**VisualizationError**](/docs/api/qiskit/1.0/visualization#qiskit.visualization.VisualizationError "qiskit.visualization.VisualizationError") – If raw=True and filename=None.

**Example**

```python
 %matplotlib inline
from qiskit import QuantumCircuit
from qiskit.compiler import transpile
from qiskit.transpiler import PassManager
from qiskit.visualization import pass_manager_drawer
from qiskit.transpiler.passes import Unroller

circ = QuantumCircuit(3)
circ.ccx(0, 1, 2)
circ.draw()

pass_ = Unroller(['u1', 'u2', 'u3', 'cx'])
pm = PassManager(pass_)
new_circ = pm.run(circ)
new_circ.draw(output='mpl')

pass_manager_drawer(pm, "passmanager.jpg")
```
