![example picture for push_matrix()](/images/reference/Sketch_push_matrix_0.png)
```python
def setup():
py5.fill(255)
py5.rect(0, 0, 50, 50) # white rectangle
py5.push_matrix()
py5.translate(30, 20)
py5.fill(0)
py5.rect(0, 0, 50, 50) # black rectangle
py5.pop_matrix()
py5.fill(100)
py5.rect(15, 10, 50, 50) # gray rectangle
```
![example picture for push_matrix()](/images/reference/Sketch_push_matrix_1.png)
```python
def setup():
py5.ellipse(0, 50, 33, 33) # left circle
py5.stroke_weight(10)
py5.fill(204, 153, 0)
with py5.push():
py5.translate(50, 0)
py5.ellipse(0, 50, 33, 33) # middle circle
py5.stroke_weight(1)
py5.fill(255)
py5.ellipse(100, 50, 33, 33) # right circle
```