我正在尝试使用 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 并解析以制作图表,任何帮助将不胜感激。
最佳答案
因此,一旦您纠正了我在上面的评论中指出的引用问题,无论是转义还是将外部引号切换为单引号,此 JavaScript 将解析您的输入并为 donut chart 做好准备
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 。拉斐尔似乎不喜欢十进制值并且抛出错误。可能想要四舍五入您的值
关于javascript - 更改 Ruby 哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691441/