Мне не совсем понятно, как вы хотите, чтобы конечный результат выглядел, но мне кажется, что c
должно быть некоторым числом, определяющим интенсивность. Мне кажется, c=dot[1]
вернул бы массив в вашем коде. Следующий код производит разные цвета. Здесь я просто определил интенсивность в соответствии с расстоянием от ori go. Возможно, у вас есть что-то еще.
Я никогда раньше не использовал цветовые карты, но я предполагаю, что он должен работать с диапазоном значений, чтобы назначать разные цвета. Если вы добавите одну и одну точку, я предполагаю, что она всегда назначает один и тот же цвет из цветовой карты (возможно, среднее значение)
from matplotlib import pyplot as pl
from matplotlib import colors as cl
import numpy as np
mean = (1, 2)
cov = [[1, 0.2], [.2, 1]]
dots = np.random.multivariate_normal(mean, cov, (2, 20))
# The distance from origo, which will define the intensity
dots_intensity = np.hypot(dots[0,:], dots[1,:])
classColormap = cl.ListedColormap(['#FF0000', '#00FF00', '#000000'])
pl.scatter(dots[0,:], dots[1,:],c=dots_intensity,cmap=classColormap)
надеюсь, это поможет.
Я нашел это статья полезна https://medium.com/better-programming/how-to-use-colormaps-with-matplotlib-to-create-colorful-plots-in-python-969b5a892f0c
![enter image description here](https://i.stack.imgur.com/Yi1ER.png)