networkData method
Generates network graph data.
Implementation
Map<String, dynamic> networkData({
int nodeCount = 20,
double linkProbability = 0.1,
int? groupCount,
}) {
final groups = groupCount ?? (nodeCount / 5).ceil();
final nodes = List.generate(
nodeCount,
(i) => {
'id': 'node_$i',
'label': 'Node $i',
'group': 'Group ${i % groups}',
'value': _random.uniform(5, 20),
});
final links = <Map<String, dynamic>>[];
for (int i = 0; i < nodeCount; i++) {
for (int j = i + 1; j < nodeCount; j++) {
if (_random.boolean(linkProbability)) {
links.add({
'source': 'node_$i',
'target': 'node_$j',
'weight': _random.uniform(1, 5),
});
}
}
}
return {
'nodes': nodes,
'links': links,
};
}