Мне нужно создать визуализацию с помощью D3, как показано на рисунке ниже, временные ряды, составные столбцы:
Набор данных поступает от консультанта в этом формате, вложенный массивы json объектов:
[{
"period": "6/2017",
"data": [
{
"partner": "TR",
"val": 5201888581
},
{
"partner": "CH",
"val": 8509470105
},
{
"partner": "RU",
"val": 10677690328
},
{
"partner": "GB",
"val": 16086915825
},
{
"partner": "US",
"val": 17817589838
},
{
"partner": "CN",
"val": 26120939253
},
{
"partner": "TOTAL",
"val": 145385348496
}
]
},
{
"period": "7/2017",
"data": [
{
"partner": "TR",
"val": 4832746886
},
{
"partner": "CH",
"val": 8194483975
},
{
"partner": "RU",
"val": 10082530447
},
{
"partner": "US",
"val": 15251181551
},
{
"partner": "GB",
"val": 15515343080
},
{
"partner": "CN",
"val": 27480148190
},
{
"partner": "TOTAL",
"val": 142118881451
}
]
},
{
"period": "8/2017",
"data": [
{
"partner": "TR",
"val": 4827335758
},
{
"partner": "CH",
"val": 7087004314
},
{
"partner": "RU",
"val": 10372167568
},
{
"partner": "GB",
"val": 14555013893
},
{
"partner": "US",
"val": 16838219917
},
{
"partner": "CN",
"val": 27876046083
},
{
"partner": "TOTAL",
"val": 143363806063
}
]
}
...
]
Точнее, каждый объект содержит точку и вложенный массив объектов, код страны и значение:
{
period,
data: [{country,value},{country,value},{country,value}...]
}
Массивы данных содержат различное количество объектов (записей стран), от 3 до 10 и разных стран (это могут быть любые страны ООН).
Я пытался использовать стандартные макеты в D3 (v5), такие как «стек» но, как вы видите, мои данные не соответствуют требуемому формату данных в макете d3, то есть табличные данные, такие как:
time field1 field2 field3
t1 v11 v12 v13
t2 v21 v22 v23
...
Я не знаю, как управлять этими данными, пожалуйста, помогите. Tx.
LE: Я пробовал также с диаграммой. js, но не смог из-за подобных проблем.