Flutter 餅狀圖、柱狀圖、拆線圖、Flutter動態餅圖、Flutter圖表 flutter_echart 開發文檔

在碼農的世界裏,優美的應用體驗,來源於程序員對細節的處理以及自我要求的境界,年輕人也是忙忙碌碌的碼農中一員,天天、每週,都會留下一些腳印,就是這些創做的內容,有一種執着,就是不知爲何,若是你迷茫,不妨來瞅瞅碼農的軌跡。java


1 簡介

flutter_echart 是基於Flutter Canvas 繪圖思想實現的圖表功能,支持餅狀圖、柱狀圖、拆線圖,在2020-12-02 更新1.0.1版本,將動態餅狀圖發佈到 pub 倉庫,地址以下:程序員

https://pub.flutter-io.cn/packages/flutter_echart

你們能夠直接在 Flutter 項目中添加依賴以下:編程

dependencies:
  flutter_echart: ^1.0.0

而後加載一下依賴markdown

flutter pub get

而後在使用的地方導包以下:ide

import 'package:flutter_echart/flutter_echart.dart';

1 餅狀圖

首先須要有餅圖數據,flutter_echart提供了EChartPieBean對象來封裝數據。oop

1.1 EChartPieBean的定義
class EChartPieBean {
  //用戶自定義的數據
  dynamic id;
  //直線上顯示的文案
  String title;
  //當前數值佔用的比例
  int number;
  //當前餅狀的顏色
  Color color;
  //內部使用
  bool isClick;

  EChartPieBean(
      {this.id,
      this.title = '',
      this.number = 100,
      this.color = Colors.blue,
      this.isClick = false});
}
1.2 餅圖基本使用

首先定義數據動畫

List<EChartPieBean> _dataList = [
    EChartPieBean(title: "生活費", number: 200, color: Colors.lightBlueAccent),
    EChartPieBean(title: "遊玩費", number: 200, color: Colors.deepOrangeAccent),
    EChartPieBean(title: "交通費", number: 400, color: Colors.green),
    EChartPieBean(title: "貸款費", number: 300, color: Colors.amber),
    EChartPieBean(title: "電話費", number: 200, color: Colors.orange),
  ];

以下圖所示,以動畫的方式顯示:
在這裏插入圖片描述
對應代碼以下:ui

PieChatWidget buildPieChatWidget() {
    return PieChatWidget(
      dataList: _dataList,
      //是否輸出日誌
      isLog: true,
      //是否須要背景
      isBackground: true,
      //是否畫直線
      isLineText: true,
      //背景
      bgColor: Colors.white,
      //是否顯示最前面的內容
      isFrontgText: true,
      //默認選擇放大的塊
      initSelect: 1,
      //初次顯示以動畫方式展開
      openType: OpenType.ANI,
      //旋轉類型
      loopType: LoopType.DOWN_LOOP,
      //點擊回調
      clickCallBack: (int value) {
        print("當前點擊顯示 $value");
      },
    );
  }

initSelect 屬性爲默認選擇放大顯示的餅塊,當此值爲 -2 時,不會有放大效果this

當 isBackground 屬性爲 false時,效果以下:編碼

在這裏插入圖片描述
當 isLineText 爲false 時 :

在這裏插入圖片描述
當 isFrontgText 爲false 時:

在這裏插入圖片描述

1.3 餅圖交互

使用 屬性 loopType 來配置:

//餅圖交互
enum LoopType {
  //無交互
  NON,
  //按下時放大
  DOWN,
  //按下移動放大
  MOVE,
  //按下旋轉
  DOWN_LOOP,
  //自動旋轉
  AUTO_LOOP,
}

取值爲 LoopType.NON 無任何交互
在這裏插入圖片描述
取值爲 LoopType.DOWN 點擊放大,以下:
在這裏插入圖片描述
取值爲 LoopType.MOVE 手指在餅圖觸點範圍內就會放大,以下:
在這裏插入圖片描述
取值爲 LoopType.DOWN_LOOP 手指按下可旋轉,以下:
在這裏插入圖片描述

取值爲 LoopType.AUTO_LOOP 自動循環旋轉,手指按下中止旋轉:
在這裏插入圖片描述

不侷限於思惟,不侷限語言限制,纔是編程的最高境界。

以小編的性格,確定是要錄製一套視頻的,隨後會上傳

有興趣 你能夠關注一下 西瓜視頻 — 早起的年輕人

在這裏插入圖片描述

相關文章
相關標籤/搜索