g6/demos/multi-shapes-fruchterman-layout.html
2019-09-24 11:30:15 +08:00

308 lines
5.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Multi-shapes</title>
</head>
<body>
<div id="mountNode"></div>
<script src="../build/g6.js"></script>
<script>
const data = {
"nodes": [{
"id": "N0",
"label": "N0",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N1",
"label": "N1",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N2",
"label": "N2",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N3",
"label": "N3",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N4",
"label": "N4",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N5",
"label": "N5",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N6",
"label": "N6",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N7",
"label": "N7",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N8",
"label": "N8",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "N9",
"label": "N9",
'shape': 'circle',
'style': {
'fill': 'steelblue'
}
},
{
"id": "DC2",
"label": "DC2",
'shape': 'rect',
'style': {
'fill': 'grey'
}
},
{
"id": "DC1",
"label": "DC1",
'shape': 'rect',
'style': {
'fill': 'grey'
}
},
{
"id": "DC0",
"label": "DC0",
'shape': 'rect',
'style': {
'fill': 'grey'
}
},
{
"id": "DC3",
"label": "DC3",
'shape': 'rect',
'style': {
'fill': 'grey'
}
},
{
"id": "DC4",
"label": "DC4",
'shape': 'rect',
'style': {
'fill': 'grey'
}
},
{
"id": "DC5",
"label": "DC5",
'shape': 'rect',
'style': {
'fill': 'grey'
}
},
{
"id": "DC6",
"label": "DC6",
'shape': 'rect',
'style': {
'fill': 'grey'
}
}],
"edges": [{
"source": "N0",
"target": "DC2",
style: {
lineWidth: 3
}
},
{
"source": "N0",
"target": "N1",
color: 'steelblue'
},
{
"source": "N1",
"target": "N2",
color: 'steelblue'
},
{
"source": "N1",
"target": "DC0"
},
{
"source": "N2",
"target": "DC1"
},
{
"source": "N2",
"target": "N4",
color: 'steelblue',
style: {
lineWidth: 3
}
},
{
"source": "N2",
"target": "N8",
color: 'steelblue'
},
{
"source": "N3",
"target": "DC3"
},
{
"source": "N3",
"target": "N8",
color: 'steelblue'
},
{
"source": "N3",
"target": "N4",
color: 'steelblue'
},
{
"source": "N4",
"target": "N5",
color: 'steelblue',
style: {
lineWidth: 5
}
},
{
"source": "N4",
"target": "N9",
color: 'steelblue'
},
{
"source": "N5",
"target": "DC5"
},
{
"source": "N5",
"target": "N6",
color: 'steelblue'
},
{
"source": "N6",
"target": "DC6"
},
{
"source": "N6",
"target": "N8",
color: 'steelblue'
},
{
"source": "N6",
"target": "N7",
color: 'steelblue',
style: {
lineWidth: 2
}
},
{
"source": "N7",
"target": "N9",
color: 'steelblue',
style: {
lineWidth: 1.5
}
},
{
"source": "N9",
"target": "DC4"
}]
};
const graph = new G6.Graph({
container: 'mountNode',
width: 1000,
height: 600,
layout: {
type: 'fruchterman',
linkDistance: 100
},
modes: {
default:
['drag-node']
},
defaultNode: {
size: [15, 15],
style: {
lineWidth: 0
},
labelCfg: {
position: 'bottom'
}
},
defaultEdge: {
size: 1,
color: '#e2e2e2'
},
nodeStyle: {
default:
{
lineWidth:
2,
fill: '#fff'
},
selected: {
fill: 'steelblue'
}
},
edgeStyle: {
default:
{
endArrow:
{
path:
'M 4,0 L -4,-4 L -4,4 Z',
d: 4
}
}
}
});
graph.data(data);
graph.render();
</script>
</body>
</html>