2014-09-23 7 views
2

Я пытаюсь создать граф таймеров с боке. Это мой первый раз, когда я использую боке, и мой первый раз занимался пандами. Наши клиенты получают отзывы о своей продукции. Я пытаюсь создать график, который показывает, как их средний рейтинг рейтинга со временем изменился.Создайте график тайм-кода bokeh, используя информацию о базе данных

Наша база данных содержит даты каждого обзора. У нас также есть среднее значение обзора для этой даты. Мне нужно построить линию с осью x, являющейся датами, и ось y является диапазоном значений обзора (от 1 до 10).

Когда я принял этот проект, я подумал, что это будет легко. Как я ошибался. Я нашел следующий пример:

http://bokeh.pydata.org/tutorial/solutions/gallery/stocks.html 

График выглядит хорошо. К сожалению, пример полностью замалчивает то, что является самой трудной частью в создании решения. В частности, он не показывает, как создать соответствующую структуру данных из ваших исходных данных. Пример - извлечение предварительно построенных структур данных из yahoo api. Я пробовал изучить эти структуры, но они не совсем выглядят мне откровенно.

Я нашел страницу, объясняющую структуры pandas. Мне немного сложно понять. Особенно меня смущает то, как представлять точки на графике без обязательной маркировки этих точек. Например, ось y должна отображать целые числа, но точки данных не должны пересекаться со всем значением числа. На странице я нашел связан ниже:

http://pandas.pydata.org/pandas-docs/stable/dsintro.html 

Кто-нибудь знает рабочий пример для таймсерии типа диаграммы, который служит примером, как создать необходимую структуру данных?

ОБНОВЛЕНИЕ: Благодаря ответу ниже я играл с простыми списками в строках. Мне не приходило в голову, что я могу это сделать, но он работает очень хорошо. Например:

date = [1/11/2011, 1/12/2011. 1/13/2011, 4/5/2014] 
    rating = [4, 4, 5, 2] 
    line(
     date,          # x coordinates 
     rating,         # y coordinates 
     color='#A6CEE3',         # set a color for the line 
     x_axis_type = "datetime",       # NOTE: only needed on first 
     tools="pan,wheel_zoom,box_zoom,reset,previewsave" # NOTE: only needed on first 
    ) 

ответ

4

Вы не должны использовать панда, вам просто нужно поставить последовательность х значений и последовательность у-значений. Это могут быть простые списки чисел Python, массивы NumPy или серия Pandas. Вот еще раз пример серии, который использует только Numpy массивы:

http://bokeh.pydata.org/en/latest/docs/gallery/color_scatter.html

EDIT: ссылка обновлена ​​

+0

выше ссылка не работает, это может быть обновлен один HTTP: //bokeh.pydata. орг/EN/0.10.0/документы/галерея/correlation.html – Alexandre

Смежные вопросы