# WCCCxGenuary2026_RecursiveCollage

# GridCollageReduction

For this week's *Creative Code challenge* by <mark>@sableRaph</mark> & **Prompt 26 of Genuary 2026**: “`Recursive Grids “`, ***GridCollageReduction*** is coded in **Python** with Recursive Grids and collaging each output in an image.

## Poetry

```ocaml
Grids Recursively Created
Each plot, a presence of the past
An element that isn’t moving too fast
As a reminisce of the grid that it is related
To maintain the legacy of class
```

## Images

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1769564079275/fa77b052-c684-492f-aa61-59c0834a0c67.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1769564087091/ed0d2d9d-07bf-44d5-b537-b898b4346b7c.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1769564099667/20a5156f-86c7-45d1-a67d-e03cd10f501a.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1769564107072/4cd20a29-0624-41e5-91a0-a3f52f6d0210.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1769564118230/d8a74ba9-2bd8-4667-b8b6-810e7f5a7871.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1769564133403/0114acd2-b468-4ae5-a450-5fe2e0cd0502.png align="center")

## Code

### Python

```python
import numpy as np
import matplotlib.pyplot as plt


def GridPlot(numX):
    
    C = np.random.randint(low=0, high=2, size=(numX, 11))

    d = C.tolist()
    
    #paletteUse = ['hot','Oranges','bwr_r','Blues','RdBu','coolwarm','Dark2']
    


    a = d
    plt.imshow(a, cmap='hot', interpolation='nearest')
    plt.axis('off') # Hide all axe
    plt.show()
    
    if numX == 0 or numX == 1:
        return 1
    else:
        return GridPlot(numX-1)
    
GridPlot(6)
```

```python
import numpy as np
import matplotlib.pyplot as plt
import random as rd


def GridPlot(numX):
    
    C = np.random.randint(low=0, high=2, size=(numX, 11))

    d = C.tolist()
    
    paletteUse = ['hot','Oranges','bwr_r','Blues','RdBu','coolwarm','Dark2']
    rd.shuffle(paletteUse)


    a = d
    plt.imshow(a, cmap=paletteUse[numX], interpolation='nearest')
    plt.axis('off') # Hide all axe
    plt.show()
    
    if numX == 0 or numX == 1:
        return 1
    else:
        return GridPlot(numX-1)
    
GridPlot(6)
```
