Flutter 图形视图

用于美观图形数据结构的组件,例如基于力的图。

image

特点

待办事项

  • 数据转换器:将业务数据转换为图形视图数据。
  • 算法:计算顶点布局。
    • 力导向算法。
    • 随机算法(在示例文件夹中)。
  • 数据面板嵌入。
  • 样式配置。
  • 更多图形交互。

入门

flutter pub add flutter_graph_view

用法

// Copyright (c) 2023- All flutter_graph_view authors. All rights reserved.
//
// This source code is licensed under Apache 2.0 License.

import 'dart:math';

import 'package:flutter/material.dart';
import 'package:flutter_graph_view/flutter_graph_view.dart';

void main() {
  var vertexes = <Map>{};
  var r = Random();
  for (var i = 0; i < 200; i++) {
    vertexes.add({'id': 'node$i', 'tag': 'tag${r.nextInt(9)}'});
  }
  var edges = <Map>{};

  for (var i = 0; i < 100; i++) {
    edges.add({
      'srcId': 'node${(i % 10) + 60}',
      'dstId': 'node${i % 3 + 1}',
      'edgeName': 'edge${r.nextInt(3)}',
      'ranking': r.nextInt(DateTime.now().millisecond),
    });
  }

  var data = {
    'vertexes': vertexes,
    'edges': edges,
  };

  runApp(MaterialApp(
    home: FlutterGraphWidget(
      data: data,
      algorithm: ForceDirected(),
      convertor: MapConvertor(),
    ),
  ));
}

许可证

flutter_graph_view 遵循 Apache License, Version 2.0 许可。

GitHub

查看 Github