Published
Edited
Jun 25, 2018
9 stars
Also listed in…
3D
Insert cell
Insert cell
{
let elem = html`<div id="3d-graph" style='height:800px; width:800px' >test</div>`
// Random tree
const N = 300;
const gData = {
nodes: [...Array(N).keys()].map(i => ({ id: i })),
links: [...Array(N).keys()]
.filter(id => id)
.map(id => ({
source: id,
target: Math.round(Math.random() * (id-1))
}))
};

const distance = 1000;

const Graph = ForceGraph3D()
(elem)
.enableNodeDrag(false)
.enableNavigationControls(false)
.showNavInfo(false)
.cameraPosition({ z: distance })
.graphData(gData);

// camera orbit
let angle = 0;
setInterval(() => {
Graph.cameraPosition({
x: distance * Math.sin(angle),
z: distance * Math.cos(angle)
});
angle += Math.PI / 300;
}, 10);
return elem
}
Insert cell
ForceGraph3D = require('https://unpkg.com/3d-force-graph@1.35.3/dist/3d-force-graph.min.js')
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more