我想在d3.js中創建一個多折線圖,資料在csv中,組織如下:
|Date | Cat A| Cat B| Cat C|
|:---------|:----:|:----:|-----:|
|2019-12-01|2 |6 |9 |
|2018-11-02|4 |4 |20 |
如何讀取要排列成三列的資料:
|Date | Category| value |
|:---------|:-------:|------:|
|2019-12-01|CAT A |2 |
|2018-11-02|CAT A |4 |
|2019-12-01|CAT B |6 |
|2018-11-02|CAT B |9 |
請注意,我想忽略其中一列(CAT C)
uj5u.com熱心網友回復:
通常在 D3 中,匯入扁平資料,然后相應地對其進行分組或嵌套。這意味著(據我所知)進行反向操作的工具并不是那么自然。在這種情況下,使用 vanilla Javascript 可能是簡單易讀的:
const data = [
{ Date: '2019-12-01', 'A' : 2, 'B' : 6, 'C' : 9 },
{ Date: '2018-11-02', 'A' : 4, 'B' : 4, 'C' : 20 }
];
console.log(data)
result = [];
data.forEach(row => {
let a = (({ Date, A, B, C }) => ({ Date, A}))(row);
result.push(a)
let b = (({ Date, A, B, C }) => ({ Date, B}))(row);
result.push(b)
});
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/513940.html
上一篇:用d3-time計算年齡
下一篇:D3元素未顯示在DOM中
