Как отобразить точечную диаграмму в Python с цветом в качестве информации о времени?

Моя отправная точка: Как изменить 2D-диаграмму рассеяния для отображения цвета на основе третьего массива в CSV-файле?

у меня есть набор данных

x y time 1 2 10:24:30 2 1 15:30:12

Итак, идея в том, что в момент времени 10:24:30 объект находится в точке (1,2).

Я хочу отобразить точечную диаграмму с цветом точек в качестве информации о времени (сейчас достаточно часа, т.е. будет 24 цвета по 24 часам в сутки).

Как я мог сделать это, а также отобразить легенду, объясняющую, какой цвет соответствует какому времени?

Минимальный пример:

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = np.random.random(30)
y = np.random.random(30)
z = np.random.random(30) * 24

# scatter with colormap mapping to z value
ax.scatter(x,y,s=20,c=z, marker = 'o', cmap = cm.jet );

plt.show()

Цвет


person mommomonthewind    schedule 14.09.2017    source источник
comment
Приведите минимально воспроизводимый пример. Использование функции Normalize с категориальной картой цветов сделает эту работу.   -  person tupui    schedule 14.09.2017
comment
в чем именно проблема?: Ваш скрипт делает это. Вам нужно извлечь значения из строки времени? 15:30:12 ?   -  person Joe    schedule 14.09.2017
comment
Но довольно сложно получить категориальную/качественную палитру с 24 разными цветами. до 12 здесь: colorbrewer2.org/#type=qualitative&scheme=Accent&n=3 это стандартные: matplotlib.org/users/colormaps.html#qualitative   -  person Joe    schedule 14.09.2017
comment
Привет, проблема заключается в отображении легенды, объясняющей цветовую карту.   -  person mommomonthewind    schedule 14.09.2017