Вы создаете первый субплот после того, как уже подготовили двухкластерные данные. Вам нужно поменять местами строки с plt.scatter
и plt.subplot
Пример:
import numpy as np, matplotlib.pyplot as plt
colors = ['_', 'red', 'green', 'blue', 'purple', 'tomato', 'orange', 'darkslateblue', 'olive', 'orange', 'teal']
Правильный порядок:
for a in range(1,10):
plt.subplot(3,3,a)
plt.scatter(np.random.randint(0,10, 10), np.random.randint(0,10, 10), c=colors[a])

Верхний левый график красного цвета, поэтому это элемент 1 в списке.
Неправильный порядок:
for a in range(1,10):
plt.scatter(np.random.randint(0,10, 10), np.random.randint(0,10, 10), c=colors[a])
plt.subplot(3,3,a)

Верхний левый график зеленого цвета, то есть элемент 2 . Последний субплот пуст.