Из документов :
cmap: Colormap, необязательно, по умолчанию: None
Экземпляр Colormap или зарегистрированное имя colormap. cmap используется только в том случае, если c является массивом с плавающей точкой. Если None, по умолчанию используется rc image.cmap.
Если я правильно понял, что вы хотите, попробуйте отредактировать строку:
ax1.scatter(xdata, ydata, c=i, cmap='bwr')
в
ax1.scatter(xdata, ydata, c=xdata, cmap='bwr')
и должно работать.
Вот очень простой пример кода, чтобы показать это:
import matplotlib.pyplot as plt
import numpy as np
fig1, ax1 = plt.subplots()
xdata = np.linspace(1, 10, 100)
ydata = xdata**2
plt.scatter(xdata, ydata, c=xdata, cmap='bwr')
ax1.set_xlabel('x-axis')
ax1.set_ylabel('y-axis')
fig1.savefig('plot.jpg')
результирующее изображение:
