Created
July 2, 2020 14:41
-
-
Save gitaaron/5be48d2736d19548a1e1246dda5657df 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'; | |
int measureCount = 0; | |
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), | |
]; | |
return [ | |
new charts.Series<TimeSeriesSales, DateTime>( | |
id: 'Sales', | |
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault, | |
domainFn: (TimeSeriesSales sales, _) => sales.time, | |
measureFn: (TimeSeriesSales sales, _) { measureCount++; print('measureFn count : ${measureCount}'); 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