2016-01-12 2 views
0

Я пытаюсь построить временные ряды данных, где каждый раз есть несколько точек. Я хочу иметь time на оси х, Amount на оси у, а затем окрасить каждую точку ID т.е. где ID = 344 все они будут иметь одинаковый цвет и т.д.Matplotlib Графические временные ряды с цветными точками Pandas (Python)

Ниже приведен пример данных я использую. Я уверен, что это должно существовать, но я не могу найти примеры галереи на Matplotlib.org

   ID  Amount 
Time       
2015-12-09  344 0.333333 
2015-12-10  345 0.333333 
2015-12-09  345 0.333333 
2015-12-09  344 0.750000 
2015-12-09  342 0.583333 

Вещи я пытался включить пытаюсь изменить данные в виде сводной таблицы (не работает, потому что есть два повторяющиеся значения для ID 344. Groupby, но я боролся с группировкой по двум столбцам, я думаю, что если бы я мог группировать идентификатор и сохранять поле «Время», это пошло бы на решение моей проблемы.

Любая помощь или совет были бы массовыми

ответ

3

Прочтите документы и посмотрите примеры разброса в пределах pylab или matplotlib

import pylab as pl 

fig= pl.figure(figsize=(5,5)) 
ax = fig.add_subplot(111) 

ax.scatter(df.index, df.Amount, s=20, c=df.ID) 

Это может быть настроено в соответствии с вашими потребностями.

+0

Спасибо за предложение, знаете ли вы, можно ли использовать данные временной метки для оси x в диаграмме рассеяния? – hselbie

+1

Это, но он должен быть сначала преобразован из строки в дату и время. – tnknepp