【发布时间】:2019-04-12 17:34:20
【问题描述】:
我有一些数据以随机顺序出现,并希望转换为 Highchart 列范围的特定顺序。任何有关有效执行此操作的见解和见解都会有所帮助
此外,无论输入数据的顺序如何,我总是希望以 Apple Orange Banana 顺序显示图表并正确表示
我曾尝试在 ruby 中使用地图、集合、数组,并且有一些非常脆弱但不是最有效的工作。
headers = Array.wrap(raw_data.dig('data', 'dimensions', 'axes', 'headers'))
values = Array.wrap(raw_data.dig('data', 'values', 'c')).map(&:to_f)
labels = headers.map { |header| Array.wrap(header['label']) }
data = values.each_slice(2)
这是水果的重量 LOW 是最低重量,HIGH 是最高重量。问题是数据的顺序是按重量排序的,所以我不能只切片数组的连续值。
JSON 数据
{
"data": {
"dimensions": {
"axes": {
"headers": [{
"label": ["Apple", "Low"]
}, {
"label": ["Apple", "High"]
}, {
"label": ["Orange", "Low"]
}, {
"label": ["Banana", "Low"]
}, {
"label": ["Orange", "High"]
}, {
"label": ["Banana", "High"]
}]
}
}
"values": {
"c": ["173", "273", "414", "608", "610", "1050"]
}
}
预期输出
{
series: [
{'name': 'Weight', 'data': [[173, 273], [414, 610], [608, 1050]]}
],
axis_labels: ['Apple', 'Orange', 'Banana'],
}
【问题讨论】:
标签: ruby-on-rails json highcharts