У меня есть столбец в базе данных с ответами на вопрос «источник реферала». Я запрашивая, что и возвращает хэш:Подготовка данных к чертежу в d3.js из базы данных Ruby on Rails
Clients.count(:all, :group => :referral_source)
Какие результаты в следующем хэша:
{"Internet search (e.g., Google)?"=>26,
"Personal referral (e.g., friend or family)"=>23,
"Other"=>11, ""=>51,
"Listserv (e.g., neighborhood listserv)"=>5,
"Walk by"=>5}
В представлении, я хотел бы построить эти результаты в виде гистограммы с d3. JS. Я нашел этот красивый d3.js example с диаграммой, которая выглядит точно так, как хотелось бы, чтобы мой график выглядел. Моя проблема заключается в использовании CSV-данных.
Как я могу получить свои данные в формате, который этот пример использует прямо из рельсов. Другими словами, я хотел бы мои данные, чтобы выглядеть массив объектов для передачи JavaScript в представлении:
var data = [ {"Name": "Internet search (e.g., Google)?", "Count": 26},
{"Name": "Personal referral (e.g., friend or family)", "Count": 23},
... ]
Как изменить этот хэш (или запрос), чтобы получить его в нужный формат?
Если вы хотите узнать больше: вы можете поиграть с этим примером [http://bl.ocks.org/mbostock/3885304] и посмотреть, можете ли вы сделать его горизонтальным/использовать свои данные. Он может быть довольно плотным, когда вы начинаете, но ~ 50 строк кода управляемы. –
Привет, Адам, спасибо за комментарий. Это хорошая чистая гистограмма. Можете ли вы удвоить проверку этой ссылки? Текст кажется правильным, но нажатие на него приведет меня к несуществующей странице. – JHo
Извините! Это должно работать: bl.ocks.org/mbostock/3885304 –