Flutter图表绘制插件charts_common_maintained的使用

Flutter图表绘制插件charts_common_maintained的使用

Common Charting Library

pub package

Charts_common_maintained 是一个用于绘制图表的Flutter插件。它提供了多种图表类型,如线图、柱状图、饼图等。本教程将演示如何在Flutter项目中使用该插件。

安装插件

首先,在你的 pubspec.yaml 文件中添加依赖:

dependencies:
  flutter:
    sdk: flutter
  charts_common_maintained: ^0.12.0

然后运行 flutter pub get 来安装依赖。

创建基本图表

接下来我们创建一个简单的折线图。

示例代码

import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart' as charts;

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Charts Example')),
        body: Center(child: SimpleLineChart.withSampleData()),
      ),
    );
  }
}

/// 创建一个简单的折线图
class SimpleLineChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  SimpleLineChart(this.seriesList, {this.animate});

  /// 在这里创建数据源
  factory SimpleLineChart.withSampleData() {
    return new SimpleLineChart(
      _createSampleData(),
      // Set animation to true, since false is the default.
      animate: true,
    );
  }

  /// 创建数据点
  static List<charts.Series<LinearSales, int>> _createSampleData() {
    final data = [
      LinearSales(0, 5),
      LinearSales(1, 25),
      LinearSales(2, 100),
      LinearSales(3, 75),
    ];

    return [
      charts.Series<LinearSales, int>(
        id: 'Sales',
        domainFn: (LinearSales sales, _) => sales.year,
        measureFn: (LinearSales sales, _) => sales.sales,
        data: data,
      )
    ];
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return new charts.LineChart(
      seriesList,
      animate: animate,
    );
  }
}

/// 数据模型类
class LinearSales {
  final int year;
  final int sales;

  LinearSales(this.year, this.sales);
}

运行效果

上述代码将创建一个简单的折线图,包含四个数据点(年份和销售额)。

更多图表类型

除了折线图,你还可以创建其他类型的图表,比如柱状图和饼图。以下是创建柱状图的例子:

示例代码

class SimpleBarChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  SimpleBarChart(this.seriesList, {this.animate});

  factory SimpleBarChart.withSampleData() {
    return new SimpleBarChart(
      _createSampleData(),
      animate: true,
    );
  }

  static List<charts.Series<OrdinalSales, String>> _createSampleData() {
    final data = [
      OrdinalSales('2014', 5),
      OrdinalSales('2015', 25),
      OrdinalSales('2016', 100),
      OrdinalSales('2017', 75),
    ];

    return [
      charts.Series<OrdinalSales, String>(
        id: 'Sales',
        domainFn: (OrdinalSales sales, _) => sales.year,
        measureFn: (OrdinalSales sales, _) => sales.sales,
        data: data,
      )
    ];
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return new charts.BarChart(
      seriesList,
      animate: animate,
    );
  }
}

/// 数据模型类
class OrdinalSales {
  final String year;
  final int sales;

  OrdinalSales(this.year, this.sales);
}

更多关于Flutter图表绘制插件charts_common_maintained的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter图表绘制插件charts_common_maintained的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


charts_common_maintained 是一个用于在 Flutter 中绘制图表的插件,它是 charts_flutter 库的一部分,提供了一种简单的方式来创建各种类型的图表。以下是如何使用 charts_common_maintained 插件在 Flutter 中绘制图表的基本步骤。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 charts_common_maintainedcharts_flutter 的依赖。

dependencies:
  flutter:
    sdk: flutter
  charts_common_maintained: ^0.12.0
  charts_flutter_maintained: ^0.12.0

然后运行 flutter pub get 来获取依赖。

2. 导入库

在你的 Dart 文件中,导入所需的库。

import 'package:charts_common_maintained/charts_common_maintained.dart' as charts;
import 'package:charts_flutter_maintained/charts_flutter_maintained.dart' as charts_flutter;

3. 创建数据模型

你需要定义一个数据模型来表示图表中的数据点。例如,假设你要绘制一个简单的条形图,每个条形表示一个类别的值。

class SalesData {
  final String category;
  final int sales;

  SalesData(this.category, this.sales);
}

4. 准备数据

接下来,准备你要在图表中显示的数据。

final data = [
  SalesData('Category A', 5),
  SalesData('Category B', 25),
  SalesData('Category C', 100),
  SalesData('Category D', 75),
];

5. 创建图表

使用 charts.Series 来定义图表的数据系列,然后使用 charts.BarChart 或其他类型的图表来绘制数据。

class SimpleBarChart extends StatelessWidget {
  final List<charts.Series<SalesData, String>> seriesList;

  SimpleBarChart(this.seriesList);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return charts_flutter.BarChart(
      seriesList,
      animate: true,
    );
  }
}

6. 在 UI 中使用图表

最后,在你的 Flutter 应用中使用这个图表。

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Charts Example'),
        ),
        body: Center(
          child: SimpleBarChart(_createSampleData()),
        ),
      ),
    );
  }

  static List<charts.Series<SalesData, String>> _createSampleData() {
    final data = [
      SalesData('Category A', 5),
      SalesData('Category B', 25),
      SalesData('Category C', 100),
      SalesData('Category D', 75),
    ];

    return [
      charts.Series<SalesData, String>(
        id: 'Sales',
        domainFn: (SalesData sales, _) => sales.category,
        measureFn: (SalesData sales, _) => sales.sales,
        data: data,
      )
    ];
  }
}
回到顶部