Это просто, чтобы раскрасить отдельные точки относительно третьей переменной. Вам просто нужно сопоставить эту качественную переменную с чем-то, что может представлять цвет. Например, если эта третья переменная была 'c' в следующем коде:
import matplotlib.pyplot as plt
def map_col(col):
if col == 'y_odd':
mapped_col = 0
elif col == 'y_even':
mapped_col = 1
return mapped_col
x = [1, 4, 2, 7, 4, 9]
y = [4, 1, 3, 6, 8, 2]
c = ['y_even', 'y_odd', 'y_odd', 'y_even', 'y_even', 'y_even']
color = [map_col(col) for col in c]
plt.scatter(x, y, s=100, c=color, cmap="gnuplot")
plt.show()
Список доступных цветовых карт см .:
https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html