我正在嘗試使用此 json 資料(如下)來繪制3D 聚類圖),我不知道如何獲取圖表所需的資料格式。
[{
"date": "2022-10-23 00:59:48",
"coords": {
"centroid_coordinates": {
"lat": -7.207031,
"lon": 168.596191
},
"a": {
"x": -1256364.723016,
"y": -905736.587501,
"z": -193874.799252
},
"b": {
"x": -386418.720754,
"y": -6642.909578,
"z": 23877.65777
},
"c": {
"x": -129833372.79993,
"y": -66828394.94447,
"z": -28968456.528255
}
}
},
{
"date": "2022-10-23 02:47:50",
"coords": {
"centroid_coordinates": {
"lat": -7.17041,
"lon": 141.584473
},
"a": {
"x": -1255562.609906,
"y": -906938.207607,
"z": -194414.791666
},
"b": {
"x": -386086.589686,
"y": -12494.762637,
"z": 20835.942076
},
"c": {
"x": -129735646.666749,
"y": -66982246.620175,
"z": -29035155.240834
}
}
},
{
"date": "2022-10-23 04:35:53",
"coords": {
"centroid_coordinates": {
"lat": -7.214355,
"lon": 114.528809
},
"a": {
"x": -1254758.115314,
"y": -908137.954559,
"z": -194955.259706
},
"b": {
"x": -385642.162129,
"y": -18344.612851,
"z": 17787.284227
},
"c": {
"x": -129637682.082612,
"y": -67136009.866602,
"z": -29101817.979109
}
}
}]
我想使用javascript函式使用javascript集成每個(abcd)的xyz資料并將其放入圖表中,他們的任何解決方案是否有幫助!
var data = [{
x: [-1256364.723016,-386418.720754,-129833372.79993]
y: [-905736.587501,-6642.909578,-66828394.94447]
z: [-193874.799252,23877.65777,-28968456.528255]
}]
我將非常感謝任何提示或資源,這樣我就可以擺脫這個可能并不那么困難的任務。我應該提到我對這一切都很陌生。
謝謝大家!
uj5u.com熱心網友回復:
ES6方式如下
const data = initialData.map((perDate) => {
let coords = perDate.coords
return({
x: [coords.a.x, coords.b.x, coords.c.x],
y: [coords.a.y, coords.b.y, coords.c.y],
z: [coords.a.z, coords.b.z, coords.c.z]
})
})
uj5u.com熱心網友回復:
你也可以這樣做,但看起來有點麻煩
data.map(o => o.coords)
.map(o => [o.a, o.b, o.c])
.map(o => {
return {
x: o.map(x => x.x),
y: o.map(y => y.y),
z: o.map(z => z.z),
}
}).forEach(o => console.log(o))
uj5u.com熱心網友回復:
Array.map()您可以在方法和方法的幫助下簡單地實作這一點Object.keys()。
現場演示:
const arr = [{
"date": "2022-10-23 00:59:48",
"coords": {
"centroid_coordinates": {
"lat": -7.207031,
"lon": 168.596191
},
"a": {
"x": -1256364.723016,
"y": -905736.587501,
"z": -193874.799252
},
"b": {
"x": -386418.720754,
"y": -6642.909578,
"z": 23877.65777
},
"c": {
"x": -129833372.79993,
"y": -66828394.94447,
"z": -28968456.528255
}
}
}];
const obj = {};
const res = arr.map(({ coords }) => {
Object.keys(coords).forEach(key => {
Object.keys(coords[key]).forEach(innerKey => {
(obj[innerKey]) ? obj[innerKey].push(coords[key][innerKey]) :
obj[innerKey] = [coords[key][innerKey]]
})
})
return obj;
})
console.log(res);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/527366.html
