Проблема заключается в том, что вы объявляли объект подзаголовка (fig
с его подзаголовками, доступными через ax[i,j]
), а затем перезаписывали переменную доступа ax[i,j]
, назначая ей обычный объект plt.scatter
.
Я не могу объяснить, почему это заставило программу отобразить все пары в одном и том же подпрограмме ( чувствует, что должно работать), но, тем не менее, использование ax[i,j].scatter()
должно решить проблему следующим образом:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2,figsize=(12,12))
ax[0,0].scatter(x1,y1,color='red', marker = ".")#,order=order)
ax[0,0].scatter(x2,y2,color='blue', marker = ".")#,order=order)
ax[0,1].scatter(x3,y3,color='red', marker = ".")#,order=order)
ax[0,1].scatter(x4,y4,color='blue', marker = ".")#,order=order)
ax[1,0].scatter(x5,y5,color='red', marker = ".")#,order=order)
ax[1,0].scatter(x6,y6,color='red', marker = ".")#,order=order)
ax[1,1].scatter(x7,y7,color='red', marker = ".")#,order=order)
ax[1,1].scatter(x8,y8,color='red', marker = ".")#,order=order)
(это также должно исправить ошибку атрибута set_xlabel
)