У меня нет проблем с созданием столбчатой диаграммы с накоплением d3 (вертикальной), когда данные находятся в нормальном формате. Но в таком формате мне сложно построить диаграмму. Буду очень признателен, если кто-нибудь может указать мне на пример, в котором данные находятся в формате, который я привел ниже. Я перепробовал столько примеров. Все использовали разные конструкции. По крайней мере, дайте мне знать, возможно ли сложение стержней с этой структурой. Мой формат.
[
{
"key": "AK",
"values": [
{
"state": "AK",
"zip": "99546",
"sum(quantity)": "623.95"
}
]
},
{
"key": "AL",
"values": [
{
"state": "AL",
"zip": "35440",
"sum(quantity)": "265.40"
}
]
},
{
"key": "CA",
"values": [
{
"state": "CA",
"zip": "93510",
"sum(quantity)": "682.81"
},
{
"state": "CA",
"zip": "95220",
"sum(quantity)": "367.14"
}
]
},
{
"key": "GA",
"values": [
{
"state": "GA",
"zip": "30102",
"sum(quantity)": "609.85"
},
{
"state": "GA",
"zip": "30103",
"sum(quantity)": "691.53"
}
]
},
{
"key": "IA",
"values": [
{
"state": "IA",
"zip": "50001",
"sum(quantity)": "597.52"
},
{
"state": "IA",
"zip": "50601",
"sum(quantity)": "741.38"
}
]
},
{
"key": "IL",
"values": [
{
"state": "IL",
"zip": "62214",
"sum(quantity)": "564.20"
}
]
},
{
"key": "LA",
"values": [
{
"state": "LA",
"zip": "70420",
"sum(quantity)": "576.45"
},
{
"state": "LA",
"zip": "70511",
"sum(quantity)": "377.81"
},
{
"state": "LA",
"zip": "70710",
"sum(quantity)": "398.69"
}
]
},
{
"key": "MD",
"values": [
{
"state": "MD",
"zip": "20606",
"sum(quantity)": "423.71"
},
{
"state": "MD",
"zip": "20607",
"sum(quantity)": "544.17"
},
{
"state": "MD",
"zip": "21005",
"sum(quantity)": "233.74"
},
{
"state": "MD",
"zip": "21520",
"sum(quantity)": "601.30"
}
]
},
{
"key": "ME",
"values": [
{
"state": "ME",
"zip": "4406",
"sum(quantity)": "238.58"
},
{
"state": "ME",
"zip": "4606",
"sum(quantity)": "412.01"
}
]
},
{
"key": "MS",
"values": [
{
"state": "MS",
"zip": "39735",
"sum(quantity)": "486.00"
}
]
},
{
"key": "MT",
"values": [
{
"state": "MT",
"zip": "59001",
"sum(quantity)": "434.12"
}
]
},
{
"key": "ND",
"values": [
{
"state": "ND",
"zip": "58001",
"sum(quantity)": "122.81"
},
{
"state": "ND",
"zip": "58002",
"sum(quantity)": "883.31"
}
]
},
{
"key": "NE",
"values": [
{
"state": "NE",
"zip": "68001",
"sum(quantity)": "605.27"
}
]
},
{
"key": "NJ",
"values": [
{
"state": "NJ",
"zip": "8205",
"sum(quantity)": "630.63"
}
]
},
{
"key": "NM",
"values": [
{
"state": "NM",
"zip": "87510",
"sum(quantity)": "1059.78"
}
]
},
{
"key": "NY",
"values": [
{
"state": "NY",
"zip": "12404",
"sum(quantity)": "573.52"
},
{
"state": "NY",
"zip": "12405",
"sum(quantity)": "911.70"
},
{
"state": "NY",
"zip": "13606",
"sum(quantity)": "295.05"
},
{
"state": "NY",
"zip": "14410",
"sum(quantity)": "91.27"
}
]
},
{
"key": "OH",
"values": [
{
"state": "OH",
"zip": "43802",
"sum(quantity)": "234.60"
}
]
},
{
"key": "OK",
"values": [
{
"state": "OK",
"zip": "73520",
"sum(quantity)": "331.16"
},
{
"state": "OK",
"zip": "74330",
"sum(quantity)": "679.95"
},
{
"state": "OK",
"zip": "74720",
"sum(quantity)": "723.63"
},
{
"state": "OK",
"zip": "74821",
"sum(quantity)": "624.22"
}
]
},
{
"key": "OR",
"values": [
{
"state": "OR",
"zip": "97810",
"sum(quantity)": "229.12"
}
]
},
{
"key": "PA",
"values": [
{
"state": "PA",
"zip": "15410",
"sum(quantity)": "558.51"
},
{
"state": "PA",
"zip": "15520",
"sum(quantity)": "859.19"
},
{
"state": "PA",
"zip": "15610",
"sum(quantity)": "656.57"
},
{
"state": "PA",
"zip": "15611",
"sum(quantity)": "303.19"
},
{
"state": "PA",
"zip": "16820",
"sum(quantity)": "763.54"
},
{
"state": "PA",
"zip": "17301",
"sum(quantity)": "314.21"
},
{
"state": "PA",
"zip": "18010",
"sum(quantity)": "522.25"
},
{
"state": "PA",
"zip": "19001",
"sum(quantity)": "541.86"
},
{
"state": "PA",
"zip": "19501",
"sum(quantity)": "314.65"
}
]
},
{
"key": "SC",
"values": [
{
"state": "SC",
"zip": "29426",
"sum(quantity)": "387.74"
}
]
},
{
"key": "TX",
"values": [
{
"state": "TX",
"zip": "77326",
"sum(quantity)": "497.49"
},
{
"state": "TX",
"zip": "79311",
"sum(quantity)": "619.80"
},
{
"state": "TX",
"zip": "79699",
"sum(quantity)": "546.51"
},
{
"state": "TX",
"zip": "79713",
"sum(quantity)": "424.77"
}
]
},
{
"key": "VA",
"values": [
{
"state": "VA",
"zip": "23001",
"sum(quantity)": "340.39"
},
{
"state": "VA",
"zip": "23301",
"sum(quantity)": "446.56"
}
]
},
{
"key": "VT",
"values": [
{
"state": "VT",
"zip": "5640",
"sum(quantity)": "548.90"
}
]
},
{
"key": "WA",
"values": [
{
"state": "WA",
"zip": "98520",
"sum(quantity)": "223.90"
}
]
},
{
"key": "WI",
"values": [
{
"state": "WI",
"zip": "54101",
"sum(quantity)": "680.80"
},
{
"state": "WI",
"zip": "54405",
"sum(quantity)": "485.17"
}
]
},
{
"key": "WV",
"values": [
{
"state": "WV",
"zip": "25606",
"sum(quantity)": "404.94"
}
]
}
]
Здесь key
должен действовать как ось абсцисс. И values
должен действовать как ось Y (sum(quantity)
). А объекты внутри значений должны образовывать столбик с накоплением.
Например: ключ CA содержит два объекта внутри values
ключа, которые должны образовывать полосу с двумя стеками. Надеюсь, ты понял.
Я не избегаю кода намеренно. У меня нет ни одного для этой структуры. Я даже не понимаю, как я могу использовать эти данные. Получил это с помощью гнезда d3.
Пожалуйста помоги.