2015-02-03 6 views
0

Я смотрю на все демки Highcharts, и все они, кажется, следуют очень простую структуру данных:Highcharts - организация исходных данных

Categories,Apples,Pears,Oranges,Bananas 
John,8,4,6,5 
Jane,3,4,2,3 
Joe,86,76,79,77 
Janet,3,16,13,15 

У меня есть данные, которые не соответствуют этой организации очень хорошо , Я мог бы это сделать, конечно, но было бы больно настраивать и не обновлять.

Я ищу, чтобы построить штабелированную гистограмму, которая показывает категории (например, Group1, Group 2, Group 3) и торговый персонал с их продажами. Проблема усложняется, поскольку сотрудники отдела продаж могут быть одновременно в нескольких группах; и поскольку это со временем может вернуться к исходной категории.

Так Категория 1 (Группа 1) будет тянуть данные из таблицы, как, что ниже

Date | Date | Group | 
Start | End | Lead | 

1990 | 1991 | AAA | 
1991 | 1994 | BBB | 
1994 | 1996 | AAA | 

То, как Highcharts предназначена деталь (Джон, Джейн, Джо) связан с каждой категорией. Создание диаграммы, показанной выше, было бы простым. Но что-то более активное участие, что-то с 4-х категорий и более 200 имен

Category Date Start Date End TotDays Name 
Apples 5/11/1994 3/1/1995 294 sc 
Apples 5/19/1995 6/28/1997 771 lb 
Apples 12/13/1997 5/12/1998 150 og 
Apples 1/30/1999 11/1/1999 275 bs 
Apples 11/1/1999 11/27/1999 26 jm 
Apples 11/27/1999 4/6/2002 861 ak 
Apples 4/6/2002 1/1/2003 270 hs 
Apples 5/10/2003 9/13/2003 126 hv 
Apples 9/13/2003 6/5/2004 266 fs 
Apples 6/5/2004 9/18/2004 105 oh 
Apples 9/18/2004 7/16/2005 301 bh 
Apples 7/16/2005 9/29/2007 805 jt 
Apples 9/29/2007 4/17/2010 931 kp 
Apples 4/17/2010 6/1/2010 45 sm 
Apples 7/31/2010 8/25/2012 756 dp 
Apples 8/25/2012 10/20/2012 56 hn 
Apples 10/20/2012 9/14/2014 694 pq 
Apples 12/13/2014 2/3/2015 52 al 
Bananas 4/29/1995 7/16/2005 3731 bh 
Bananas 7/16/2005 10/11/2005 87 jt 
Bananas 12/10/2005 7/12/2009 1310 aa 
Bananas 9/19/2009 5/7/2011 595 ss 
Bananas 5/7/2011 8/17/2013 833 dg 
Bananas 8/17/2013 12/7/2013 112 db 
Bananas 12/7/2013 2/3/2015 423 fs 
Cherries 10/1/1993 8/1/1994 304 dj 
Cherries 8/12/1994 12/19/1995 494 jc 
Cherries 12/19/1995 6/24/1996 188 st 
Cherries 6/24/1996 8/23/1997 425 wj 
Cherries 8/23/1997 1/31/1998 161 jg 
Cherries 1/31/1998 5/12/2001 1197 wj 
Cherries 5/12/2001 9/29/2001 140 ft 
Cherries 9/29/2001 7/16/2005 1386 bh 
Cherries 11/17/2001 12/13/2003 756 wj 
Cherries 5/1/2004 3/11/2006 679 mm 
Cherries 7/16/2005 12/14/2006 516 jt 
Cherries 3/11/2006 7/15/2006 126 fs 
Cherries 7/15/2006 4/28/2007 287 jc 
Cherries 4/28/2007 9/1/2012 1953 fs 
Cherries 10/14/2010 11/2/2012 750 gg 
Cherries 9/1/2012 11/2/2012 62 dg 
Cherries 11/2/2012 2/3/2015 823 gg 

На данный момент я не вижу, как работать с highchart. Может ли кто-нибудь указать способ использования таблиц, перечисленных выше?

SEE Скрипка, что он должен выглядеть следующим образом:

http://jsfiddle.net/MAYO/eLam1Lo1/5/

ответ

1

Этот вопрос имеет гораздо больше общего с организацией и представлением данных в целом, чем с ничего Highcharts специфично.

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

Как только вы это сделаете, пришло время беспокоиться о том, как отформатировать данные для графической библиотеки. Но ты нигде рядом с этим.

(и если вы нашли способ положить все это в единый столбчатой ​​диаграммы, было бы чрезвычайно бесполезно)

вещи, чтобы думать:

ли изменения с течением времени важно? Или просто итоги?

Действительно ли категории важны? Если да, и если люди меняют категории все время, тогда вам нужно разбить данные на куски на основе того, кто был в каждой группе в каждый момент.

Вам действительно нужны номера на уровне пользователя?

Скорее всего, для того, чтобы сделать какой-либо осмысленный смысл из этих данных, потребуется несколько видов визуализации, работающих вместе.

Например, таблица, в которой перечислены итоги по группам, а также список отдельных пользователей. Другой показывает изменение состава каждой группы или участие каждого лица в каждой группе с течением времени и т. Д.

Возможно, это не тот ответ, на который вы надеетесь, но ваш вопрос на самом деле не отвечает на вопрос.

[[udpate:

В случае примера скрипкой, что вы в курсе, принимая ваши данные и применяя к чему-то вроде этого results в этом:

http://jsfiddle.net/jlbriggs/up7a5nk5/

Существует много места для игры с вариантами, но мне нелегко видеть, что, будучи полезным еще ...

Ваши данные в основном это, один ser на одного человека с указанием одной точки данных за период времени, в котором это лицо представлено:

{ 
    "name":"aa", 
    "data":[ 
    { 
     "x":1, 
     "low":1134190800000, 
     "high":1247371200000 
    } 
    ] 
} 
+0

Я поставил скрипку того, как это должно выглядеть. – Mayo

+0

см. Обновленный ответ для получения дополнительной информации – jlbriggs

+0

wow !!. На первый взгляд выглядит отлично. Я отказывался от высоких графиков и собирался использовать javascript и divs. – Mayo

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