2014-01-09 2 views
0

Я новичок в javascript jQuery и JSON, и я начинаю проект, где я хотел бы сделать некоторые графики в браузере. Копаясь в учебниках и примерах, я хотел бы создать график с некоторыми данными, собранными с помощью JSON, а затем работать с графиком, как показано в examples (добавление осей ...).График Rickshaw.js с осью добавления ajax/jsonp

Так что я уверен, проблема в том, что создание графика с var ajaxGraph = new Rickshaw.Graph.Ajax не возвращает тот же объект, что и var graph = new Rickshaw.Graph. Функция Rickshaw.Class.create, используемая для var ajaxGraph = new Rickshaw.Graph.Ajax, слишком сложна для меня, чтобы понять мои текущие навыки. Можно ли каким-то образом получить правильный объект графика из Rickshaw.Graph.Ajax? Или я должен попытаться использовать JSON отдельно, а затем позвонить var graph = new Rickshaw.Graph как-нибудь?

Спасибо за любые подсказки.

ответ

2

Я бы определенно подумал о том, чтобы делать вещи JSON отдельно, получая данные в правильном формате, а затем привязывая Рикшу к нему.

Выполнение этого, возможно, не так сложно, как вы думаете, и оно будет полезно позже для разных работ. Использование абхакции Ajax от Rickshaw действительно не спасает вас от сложности, на мой взгляд.

Вот скринкаст, который я создал, который проходит именно то, что вам нужно: http://tagtree.tv/d3-with-rickshaw-and-angular. Это может быть немного сложнее, потому что оно накладывает графу Рикши в приложение Angularjs, у которого есть свои проблемы. Но то, что он показывает, - это то, как массировать данные, полученные с сервера, в правильном формате, чтобы дать Рикшу.

Получение данных с сервера с помощью jQuery довольно просто. Вы можете использовать методы стенографии АЯКС:

http://api.jquery.com/category/ajax/shorthand-methods/

Или даже узнать вызов AJAX (я думаю, что лучше начать здесь):

http://api.jquery.com/jQuery.ajax/

Затем массировать данные так, чтобы Рикша может связываться с ним, я бы рекомендовал использовать подчеркивание:

http://underscorejs.org/

+0

Ссылка tagtree больше не работает ... – mattnedrich