I don’t know what you mean by ‘manually’. You can choose a colourmap and make a colour array easily enough:

```
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
x = np.arange(10)
ys = [i+x+(i*x)**2 for i in range(10)]
colors = cm.rainbow(np.linspace(0, 1, len(ys)))
for y, c in zip(ys, colors):
plt.scatter(x, y, color=c)
```

Or you can make your own colour cycler using `itertools.cycle`

and specifying the colours you want to loop over, using `next`

to get the one you want. For example, with 3 colours:

```
import itertools
colors = itertools.cycle(["r", "b", "g"])
for y in ys:
plt.scatter(x, y, color=next(colors))
```

Come to think of it, maybe it’s cleaner not to use `zip`

with the first one neither:

```
colors = iter(cm.rainbow(np.linspace(0, 1, len(ys))))
for y in ys:
plt.scatter(x, y, color=next(colors))
```