📆 Flutter heatmap calendar inspired by github contribution chart.

Overview

Flutter Heatmap Calendar

Flutter Heatmap Calendar inspired by github contribution chart.

Flutter Heatmap Calendar provides traditional contribution chart called HeatMap and calendar version of it called HeatMapCalendar.

HeatMap HeatMapCalendar

Getting started

Depend on it.

flutter pub add flutter_heatmap_calendar

or

Add below line to your personal package's pubspec.yaml.

dependencies:
  flutter_heatmap_calendar: ^1.0.2

And run flutter pub get to install.

Import it.

import 'package:flutter_heatmap_calendar/flutter_heatmap_calendar.dart';

Props

HeatMap

Props Types Default Description
startDate DateTime? 1 year before of the endDate Start date of HeatMap.
endDate DateTime? Today
( DateTime.now() )
Last day of HeatMap.
datasets Map ? null Sets of data which to be displayed.
colorsets Map required Sets of color values for its thresholds key value.
At least one Color is required.
Be aware that only first color will be used if ColorMode is ColorMode.opacity.
defaultColor Color? #F8F9FA Color(0xFFF8F9FA) Default color of every block.
textColor Color? #8A8A8A Color(0xFF8A8A8A) Color value of every text.
colorMode ColorMode ColorMode.opacity ColorMode.opacity requires just one colorsets value and changes color dynamically based on hightest value of datasets.
ColorMode.color changes colors based on colorsets thresholds key value.
size double? 20 The size of every block.
fontSize double? null The size of every text.
onClick Function(DateTime)? null Callback function which will be called if user clicks the block.
margin EdgeInsets? EdgeInsets.all(2) The margin value of block.
borderRadius double? 5 Border radius value of block.
scrollable bool false Make HeatMap scrollable if scrollable is true.
showText bool? false Show day text in every block if showText is true.
showColorTip bool? true Show color tip if showColorTip is true.
colorTipHelper List ? null Widgets which are shown at left and right side of colorTip.
First value is the left side widget and second value is the right side widget.
Give null value makes default 'less' and 'more' text.
colorTipCount int? 7 Length of colorTip block.
colorTipSize double? 10 The size of colorTip.

HeatMapCalendar

Props Types Default Description
initDate DateTime? Today
( DateTime.now() )
Initialized Year/Month value of HeatMapCalendar.
datasets Map ? null Sets of data which to be displayed.
colorsets Map required Sets of color values for its thresholds key value.
At least one Color is required.
Be aware that only first color will be used if ColorMode is ColorMode.opacity.
defaultColor Color? #F8F9FA Color(0xFFF8F9FA) Default color of every block.
textColor Color? #8A8A8A Color(0xFF8A8A8A) Color value of every text.
colorMode ColorMode ColorMode.opacity ColorMode.opacity requires just one colorsets value and changes color dynamically based on hightest value of datasets.
ColorMode.color changes colors based on colorsets thresholds key value.
size double? 42 The size of every block.
fontSize double? null The size of every text.
weekFontSize double? 12 The size of week label.
weekTextColor Color? #758EA1 Color(0xFF758EA1) Default color of every block.
onClick Function(DateTime)? null Callback function which will be called if user clicks the block.
margin EdgeInsets EdgeInsets.all(2) The margin value of block.
borderRadius double? 5 Border radius value of block.
flexible bool? false Makes HeatMapCalendar's size dynamically fit on screen.
If flexible is true then, size props will be ignored.
showColorTip bool? true Show color tip if showColorTip is true.
colorTipHelper List ? null Widgets which are shown at left and right side of colorTip.
First value is the left side widget and second value is the right side widget.
Give null value makes default 'less' and 'more' text.
colorTipCount int? 7 Length of colorTip block.
colorTipSize double? 10 The size of colorTip.

Example

HeatMap

import 'package:flutter_heatmap_calendar/flutter_heatmap_calendar.dart';
...
HeatMap(
  datasets: {
    DateTime(2021, 1, 6): 3,
    DateTime(2021, 1, 7): 7,
    DateTime(2021, 1, 8): 10,
    DateTime(2021, 1, 9): 13,
    DateTime(2021, 1, 13): 6,
  },
  colorMode: ColorMode.opacity,
  showText: false,
  scrollable: true,
  colorsets: {
    1: Colors.red,
    3: Colors.orange,
    5: Colors.yellow,
    7: Colors.green,
    9: Colors.blue,
    11: Colors.indigo,
    13: Colors.purple,
  },
  onClick: (value) {
    ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(value.toString())));
  },
);

HeatMapCalendar

import 'package:flutter_heatmap_calendar/flutter_heatmap_calendar.dart';
...
HeatMapCalendar(
  defaultColor: Colors.white,
  flexible: true,
  colorMode: ColorMode.color,
  datasets: {
    DateTime(2021, 1, 6): 3,
    DateTime(2021, 1, 7): 7,
    DateTime(2021, 1, 8): 10,
    DateTime(2021, 1, 9): 13,
    DateTime(2021, 1, 13): 6,
  },
  colorsets: const {
    1: Colors.red,
    3: Colors.orange,
    5: Colors.yellow,
    7: Colors.green,
    9: Colors.blue,
    11: Colors.indigo,
    13: Colors.purple,
  },
  onClick: (value) {
    ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(value.toString())));
  },
);

License

MIT License

Copyright (c) 2021 Kim Seung Hwan

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Comments
  • fixed bug where app would have overflow render crash if start date was today

    fixed bug where app would have overflow render crash if start date was today

    Hi, thanks the for the awesome library, I ran into a bug when displaying the heatmap with one days info (todays) it would cause a render overflow and red screen in my flutter app. Heres a snippet of code that I tested this change with.

    import 'package:flutter/material.dart';
    import 'package:flutter_heatmap_calendar/flutter_heatmap_calendar.dart';
    
    void main() {
      runApp(const MyApp());
    }
    
    class MyApp extends StatelessWidget {
      const MyApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        DateTime now = DateTime.now();
        DateTime today = DateTime(now.year, now.month, now.day);
    
        return MaterialApp(
          home: Scaffold(
              appBar: AppBar(),
              body: HeatMap(
                showColorTip: false,
                startDate: today,
                datasets: {today: 1},
                colorsets: const {1: Colors.green},
              )),
        );
      }
    }
    
    
    opened by qHack 1
  • Fixed A Bug With Daylight Savings Resulting In Some Weeks Having 6 Days

    Fixed A Bug With Daylight Savings Resulting In Some Weeks Having 6 Days

    The bug was due to the number of days being the end time minus the start time resulting in 7 days minus 1 hour which is interpreted as 6 days. This fix makes it so all weeks before the current week automatically have 7 days.

    opened by impure 1
  • RangeError.

    RangeError.

    Hello. I got following error when i run HeatMap sample code. Please let me know what i missed.

    ======== Exception caught by widgets library =======================================================
    The following RangeError was thrown building HeatMapPage(dirty):
    RangeError (length): Invalid value: Not in inclusive range 0..268435455: -1
    
    The relevant error-causing widget was: 
    
    When the exception was thrown, this was the stack: 
    #0      new _List (dart:core-patch/array.dart)
    #1      List._allocateData (dart:core-patch/growable_array.dart:363:16)
    #2      new _GrowableList (dart:core-patch/growable_array.dart:97:16)
    #3      new _GrowableList.generate (dart:core-patch/growable_array.dart:131:20)
    #4      new HeatMapColumn (package:flutter_heatmap_calendar/src/widget/heatmap_column.dart:135:20)
    #5      HeatMapPage._heatmapColumnList (package:flutter_heatmap_calendar/src/widget/heatmap_page.dart:108:19)
    #6      HeatMapPage.build (package:flutter_heatmap_calendar/src/widget/heatmap_page.dart:167:41)
    #7      StatelessElement.build (package:flutter/src/widgets/framework.dart:4662:28)
    #8      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4588:15)
    #9      Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #10     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4566:5)
    #11     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4561:5)
    ...     Normal element mounting (79 frames)
    #90     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3631:14)
    #91     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6261:36)
    #92     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6272:32)
    ...     Normal element mounting (9 frames)
    #101    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3631:14)
    #102    Element.updateChild (package:flutter/src/widgets/framework.dart:3380:20)
    #103    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #104    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #105    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #106    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #107    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #108    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #109    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #110    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #111    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #112    StatelessElement.update (package:flutter/src/widgets/framework.dart:4669:5)
    #113    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #114    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #115    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #116    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #117    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #118    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #119    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #120    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #121    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #122    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #123    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #124    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #125    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #126    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #127    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #128    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #129    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #130    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #131    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #132    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #133    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #134    StatelessElement.update (package:flutter/src/widgets/framework.dart:4669:5)
    #135    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #136    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #137    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #138    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #139    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #140    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #141    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #142    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #143    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #144    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #145    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #146    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #147    ProxyElement.update (package:flutter/src/widgets/framework.dart:4943:5)
    #148    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:111:11)
    #149    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #150    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #151    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #152    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #153    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #154    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #155    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #156    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #157    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #158    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #159    ProxyElement.update (package:flutter/src/widgets/framework.dart:4943:5)
    #160    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #161    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #162    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #163    ProxyElement.update (package:flutter/src/widgets/framework.dart:4943:5)
    #164    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #165    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #166    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #167    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #168    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #169    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #170    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #171    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #172    StatelessElement.update (package:flutter/src/widgets/framework.dart:4669:5)
    #173    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #174    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #175    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #176    StatelessElement.update (package:flutter/src/widgets/framework.dart:4669:5)
    #177    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #178    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6130:14)
    #179    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #180    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #181    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #182    ProxyElement.update (package:flutter/src/widgets/framework.dart:4943:5)
    #183    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #184    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #185    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #186    ProxyElement.update (package:flutter/src/widgets/framework.dart:4943:5)
    #187    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #188    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #189    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #190    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #191    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #192    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #193    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #194    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #195    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #196    StatefulElement.update (package:flutter/src/widgets/framework.dart:4795:5)
    #197    Element.updateChild (package:flutter/src/widgets/framework.dart:3370:15)
    #198    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4613:16)
    #199    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4763:11)
    #200    Element.rebuild (package:flutter/src/widgets/framework.dart:4311:5)
    #201    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2578:33)
    #202    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:882:21)
    #203    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:363:5)
    #204    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1145:15)
    #205    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
    #206    SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:863:7)
    (elided 4 frames from class _RawReceivePortImpl, class _Timer, and dart:async-patch)
    ====================================================================================================
    
    opened by astroshim 1
  • control the display of week labels.

    control the display of week labels.

    Hello, Thanks for supporting good library.

    I want to be able to control the display of week labels to left side of heatmap, like in github.

    Please provide an option feature like showWeekText.

    opened by kosa3 0
  • weekly boxes?

    weekly boxes?

    Hello, this plugin is very close to what i'm looking for, but i'm looking for a visualization that has 1 box per week. Would it make sense to add this as an option? would it be a lot of work to implement this in the code base? Perhaps I could contribute it as a PR.

    opened by Dieterbe 0
Owner
Kim Seung Hwan
Kim Seung Hwan
A powerful Flutter chart library, currently supporting Line Chart, Bar Chart, Pie Chart, Scatter Chart and Radar Chart.

FL Chart ?? A library to draw fantastic charts in Flutter ?? Chart Types LineChart BarChart PieChart Read More Read More Read More ScatterChart RadarC

Iman khoshabi 5.2k Dec 27, 2022
Sliver bar chart - A package that supports Bar Chart in a Flutter Sliver

Sliver bar chart - A package that supports Bar Chart in a Flutter Sliver. This Package allows us to add Bar Chart in Sliver and sets a Bar Chart as a Header on Slivers Scroll.

MindInventory 19 Oct 11, 2022
A beautiful bezier line chart widget for flutter that is highly interactive and configurable.

Bezier Chart A beautiful bezier line chart widget for flutter that is highly interactive and configurable. Features Multi bezier lines Allow numbers a

Aeyrium 428 Dec 21, 2022
A scrollable time chart in Flutter.

time_chart An amazing time chart in Flutter. Chart Types TimeChart AmountChart Getting Started 1 - Depend on it Add it to your package's pubspec.yaml

Minseong Kim 26 Oct 28, 2022
This project is used to introduce the use of flutter canvas, include draw chart, clip image's path and draw progress indicator.

flutter_canvas This project is used to introduce the use of flutter canvas, include draw chart, clip image's path and draw progress indicator. draw ch

YouXianMing 9 Oct 27, 2022
Maybe this is the best k chart in Flutter.Support drag,scale,long press,fling.And easy to use.

k_chart Maybe this is the best k chart in Flutter.Support drag,scale,long press,fling.And easy to use. display image gif Getting Started Install depen

OpenFlutter 342 Jan 9, 2023
Flutter chart library contains depth charts supporting various indicators and zooming

flutter_k_chart 介绍 一个仿火币的flutter图表库包含深度图,支持各种指标及放大缩小、平移等操作 webdemo演示 Demo v0.1.0:下载 APK 演示 简单用例 1.在 pubspec.yaml 中添加依赖 本项目数据来自火币openApi,火币的接口可能需要翻墙,接口

gwh 259 Dec 30, 2022
Animated line chart for flutter

fl_animated_linechart An animated chart library for flutter. Support for datetime axis Multiple y axis, supporting different units Highlight selection

null 51 Sep 25, 2022
Flutter Pie chart with animation

Pie Chart This Flutter package provides a Pie Chart Widget with cool animation. Live Demo: https://apgapg.github.io/pie_chart/ ?? Try LIVE Demo Live D

Ayush P Gupta 161 Dec 24, 2022
Basic radar chart for Flutter

flutter_radar_chart Animated radar chart for Flutter inspired by The Python Graph Gallery (https://python-graph-gallery.com/radar-chart/). Follow the

Dan Panaite 44 Dec 10, 2022
A simple radial chart for Flutter

A simple radial chart for Flutter

null 2 Jun 2, 2022
A simple candlestick chart for flutter. Supports smooth scroll and zoom

simple_candlestick_chart A simple candlestick chart for flutter. Supports smooth

7c00 14 Oct 17, 2022
A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

⚡ A powerful & easy to use chart library for Android ⚡ Charts is the iOS version of this library Table of Contents Quick Start Gradle Maven Documentat

Philipp Jahoda 36k Dec 28, 2022
Stores and manages the data of your week expenses with a chart

personal_expenses_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

null 1 Dec 26, 2021
Track your habits day by day and check your result like the GitHub's contributions board

Habits Diary Track your habits day by day and see your result like the GitHub's contributions board Download Support If you want to support this proje

Pigna 25 Oct 27, 2022
Charts Library for Flutter, written in Dart with Flutter.

Table of Contents New in the current release Illustration of the new "iterative auto layout" feature Autolayout step 1 Autolayout step 2 Autolayout st

Milan Zimmermann 225 Dec 25, 2022
Animated radial and pie charts for Flutter

Flutter Circular Chart A library for creating animated circular chart widgets with Flutter, inspired by Zero to One with Flutter. Overview Create easi

Victor Choueiri 387 Dec 26, 2022
Beautiful sparkline charts for Flutter

flutter_sparkline Beautiful sparkline charts for Flutter. Installation Install the latest version from pub. Quick Start Import the package, create a S

Victor Choueiri 255 Dec 21, 2022
Elegant OHLC Candlestick and Trade Volume charts for @Flutter

flutter_candlesticks Elegant OHLC Candlestick and Trade Volume charts for Flutter Usage Install for Flutter with pub. Property Description data Requir

Trent Piercy 402 Dec 21, 2022