Created
July 2, 2020 14:38
-
-
Save gitaaron/6e3aaca1a0877089e4ff7668857e047b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Timeseries chart example | |
import 'package:charts_flutter/flutter.dart' as charts; | |
import 'package:flutter/material.dart'; | |
class SimpleTimeSeriesChart extends StatelessWidget { | |
final List<charts.Series> seriesList; | |
final bool animate; | |
SimpleTimeSeriesChart(this.seriesList, {this.animate}); | |
/// Creates a [TimeSeriesChart] with sample data and no transition. | |
factory SimpleTimeSeriesChart.withSampleData() { | |
return new SimpleTimeSeriesChart( | |
_createSampleData(), | |
// Disable animations for image tests. | |
animate: false, | |
); | |
} | |
@override | |
Widget build(BuildContext context) { | |
print('build'); | |
return new charts.TimeSeriesChart( | |
seriesList, | |
animate: animate, | |
// Optionally pass in a [DateTimeFactory] used by the chart. The factory | |
// should create the same type of [DateTime] as the data provided. If none | |
// specified, the default creates local date time. | |
dateTimeFactory: const charts.LocalDateTimeFactory(), | |
); | |
} | |
/// Create one series with sample hard coded data. | |
static List<charts.Series<TimeSeriesSales, DateTime>> _createSampleData() { | |
final data = [ | |
new TimeSeriesSales(new DateTime(2017, 9, 19), 5), | |
new TimeSeriesSales(new DateTime(2017, 9, 26), 25), | |
new TimeSeriesSales(new DateTime(2017, 10, 3), 100), | |
new TimeSeriesSales(new DateTime(2017, 10, 10), 75), | |
]; | |
return [ | |
new charts.Series<TimeSeriesSales, DateTime>( | |
id: 'Sales', | |
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault, | |
domainFn: (TimeSeriesSales sales, _) => sales.time, | |
measureFn: (TimeSeriesSales sales, _) { print('measureFn called'); return sales.sales;}, | |
data: data, | |
) | |
]; | |
} | |
} | |
/// Sample time series data type. | |
class TimeSeriesSales { | |
final DateTime time; | |
final int sales; | |
TimeSeriesSales(this.time, this.sales); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment