Flutter图表绘制插件stack_chart的使用

Flutter图表绘制插件stack_chart的使用

特性

  • 使用此stack_chart包,您可以创建自己的自定义动态堆叠图以展示预订状态和其他数据格式,从而以更好的方式呈现您的分析。

开始使用

  • 轻松下载flutterstack_chart用于您的项目。

如何使用?

import 'package:stack_chart/stack_chart.dart';

小部件使用

MacStackChart(
    chartTitle: "Bookings Stack Chart",
    dateFormat: "h a",
    chartData: chartData,
    chartLabel: chartLabel,
    containerHeight: MediaQuery.of(context).size.height * 0.035,
    containerWidth: MediaQuery.of(context).size.width * 0.05,
    chartText: chartText,
    backgroundColor: Colors.transparent,
    chartBackgroundColor: Colors.white,
    style: const TextStyle(
    color: Colors.black,
    fontSize: 12,
    ),
)

示例

示例

完整示例代码

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

/// 主函数运行MacStackedChart小部件作为应用程序的根。
void main() {
  runApp(const MacStackedChart());
}

/// MacStackedChart类是应用程序的根小部件。
class MacStackedChart extends StatelessWidget {
  const MacStackedChart({super.key});

  /// 这个小部件是你的应用的根。
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Macincode Stack Chart',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  /// MyHomePage类的默认构造函数
  const MyHomePage({super.key, required this.title});
  final String title;

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<ChartData> chartData = [
    ChartData("2023-02-12 10:00:00", "2023-02-12 11:00:00", [
      "male",
      "female",
      "male",
      "female",
      "transgender",
      "transgender",
    ]),
    ChartData("2023-02-12 11:00:00", "2023-02-12 12:00:00", [
      "male",
      "female",
      "female",
      "transgender",
      "male",
      "transgender",
    ]),
    ChartData("2023-02-12 12:00:00", "2023-02-12 13:00:00", [
      "male",
      "female",
      "transgender",
      "female",
      "male",
      "transgender",
    ]),
    ChartData("2023-02-12 13:00:00", "2023-02-12 14:00:00", [
      "male",
      "transgender",
      "female",
      "male",
      "female",
      "transgender",
    ]),
    ChartData("2023-02-12 14:00:00", "2023-02-12 15:00:00", [
      "male",
      "female",
      "female",
      "transgender",
      "male",
      "transgender",
    ]),
    ChartData("2023-02-12 15:00:00", "2023-02-12 16:00:00", [
      "male",
      "female",
      "transgender",
      "transgender",
      "male",
      "female",
    ]),
  ];

  /// 创建一个包含标签文本和颜色的ChartLabel对象列表。
  List<ChartLabel> chartLabel = [
    ChartLabel("Male", Colors.red),
    ChartLabel("Female", Colors.green),
    ChartLabel("Transgender", Colors.yellow),
  ];

  ChartText chartText = ChartText("10 Minutes", Colors.amber);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
        centerTitle: true,
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            MacStackChart(
              chartTitle: "Stack Chart",
              dateFormat: "h a",
              chartData: chartData,
              chartLabel: chartLabel,
              containerHeight: MediaQuery.of(context).size.height * 0.035,
              containerWidth: MediaQuery.of(context).size.width * 0.05,
              chartText: chartText,
              backgroundColor: Colors.transparent,
              chartBackgroundColor: Colors.white,
              style: const TextStyle(
                color: Colors.black,
                fontSize: 12,
              ),
            ),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


stack_chart 是一个用于在 Flutter 中绘制堆叠图表的插件。它可以帮助你轻松地创建各种类型的堆叠图表,如堆叠柱状图、堆叠面积图等。以下是使用 stack_chart 插件的基本步骤和示例代码。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  stack_chart: ^0.1.0  # 请根据最新版本号进行替换

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

2. 导入包

在你的 Dart 文件中导入 stack_chart 包:

import 'package:stack_chart/stack_chart.dart';

3. 创建堆叠图表

下面是一个简单的堆叠柱状图的示例:

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

class StackChartExample extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Stack Chart Example'),
      ),
      body: Center(
        child: Container(
          width: 300,
          height: 200,
          child: StackChart(
            data: [
              StackChartData(
                label: 'Series 1',
                values: [10, 20, 30, 40, 50],
                color: Colors.blue,
              ),
              StackChartData(
                label: 'Series 2',
                values: [5, 15, 25, 35, 45],
                color: Colors.green,
              ),
              StackChartData(
                label: 'Series 3',
                values: [15, 25, 35, 45, 55],
                color: Colors.orange,
              ),
            ],
            xAxisLabels: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
            yAxisLabels: ['0', '25', '50', '75', '100'],
            chartType: StackChartType.bar, // 你可以选择其他类型的图表
          ),
        ),
      ),
    );
  }
}

void main() {
  runApp(MaterialApp(
    home: StackChartExample(),
  ));
}
回到顶部