У меня есть некоторые данные, поступающие в случайном порядке, и я хотел бы преобразовать их в определенный порядок для диапазонов столбцов Highchart.Любое понимание того, как сделать это эффективно, и понимание помогло бы
Кроме того, независимо от порядка ввода данных, я всегда хочу отображать диаграммы в порядке Apple Orange Banana с их правильным представлением
Я пробовал использовать карты,наборы, массив в рубине и есть что-то работающее, что является очень хрупким и не самым эффективным.
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
{
"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'],
}
chart https://jsfiddle.net/Praveen2710/7sdqz6Le/8/