我正在尝试使用morris.js(http://www.oesmith.co.uk/morris.js/donuts.html)制作圆环图,但在使数据格式正确方面存在一些问题。
目前,这是数据的格式化方式。
{"2D"=>"6768.96", "1DP"=>"293.63", "3D"=>"84.97", "1D"=>"361.83", "GR-RES"=>"19083.85", "GR-COM"=>"11254.69"}
以下是我当前的代码
<%= content_tag :div, "", id: "shipments-by-service-type", data: {shipments: @details.group(:family).sum("base_charge + discount")} %>
jQuery ->
Morris.Donut
element: "shipments-by-service-type"
data: $('#shipments-by-service-type').data('shipments')
这是我第一次将数据传递到js并解析以制作图表的任何帮助都会受到赞赏。
答案 0 :(得分:2)
因此,一旦你纠正了我在上面的评论中指出的引用问题,要么转义外部引号或单引号,这个javascript将解析你的输入并为甜甜圈图做好准备
var dataArr = [];
var obj = $("#shipments-by-service-type-simple").data('shipments');
for ( var prop in obj) {
dataArr.push({"label": prop, "value": obj[prop]});
}
Morris.Donut({
element: 'donut-example',
data: dataArr
});
这是jsbin。似乎raphael不喜欢小数值并且抛出错误。可能想要围绕你的价值观