我有这样的数据在Ruby中,创建使用Highcharts.js一个条形图,需要在JSON格式的数据:如何多键哈希转换为单一键散列红宝石Highcharts
data = {["January", "a"]=>54, ["January", "b"]=>13, ["January", "d"]=>2, ["January", "c"]=>1,
["February", "a"]=>27, ["February", "b"]=>11, ["February", "c"]=>4, ["March", "a"]=>22,
["March", "b"]=>11, ["March", "d"]=>2, ["March", "c"]=>2, ["April", "a"]=>32,
["April", "b"]=>12, ["April", "d"]=>6, ["April", "c"]=>2, ["May", "a"]=>7,
["May", "d"]=>3, ["June", "a"]=>5, ["July", "a"]=>25,
["August", "a"]=>23, ["August", "d"]=>3, ["August", "c"]=>3, ["September", "a"]=>6}
数据存储在一个变量中,而不是来自文件。
我想将其转换为json对象,将它发送给Highcharts进行制图。我需要以下格式的数据:
category = ["January","February","March","April","May","June","July","August","September"]
series: [{
name: 'a',
data: [54, 27, 22, 32, 7, 5, 25, 23, 6]
}, {
name: 'b',
data: [13, 11, 11, 12, 6, 0, 0, 0, 6]
}, {
name: 'c',
data: [1, 4, 0, 2, 0, 0, 0, 3, 6]
},
{
name: 'd',
data: [2, 0, 0, 6, 3, 0, 0, 3, 6]
}]
数据在几个月内丢失,有时不按字母顺序排列。
有没有一种简单的方法在Ruby中取消原始哈希,然后从中提取信息,同时用0填充缺失的值,并根据需要获取JSON输出?
p.s. :试图转换data.to_json,但highchart不接受原始形式。有没有其他方法可以使用Highcharts中的这些数据创建条形图?