import 'package:charts_flutter/flutter.dart' as charts; import 'package:flutter/material.dart'; class GaugeChart extends StatelessWidget { final List seriesList; final bool animate; GaugeChart(this.seriesList, {this.animate}); /// Creates a [PieChart] with sample data and no transition. factory GaugeChart.withSampleData() { return new GaugeChart( _createSampleData(), // Disable animations for image tests. animate: false, ); } @override Widget build(BuildContext context) { return new charts.PieChart(seriesList, animate: animate, defaultRenderer: new charts.ArcRendererConfig(arcWidth: 10)); //); } static List> _createSampleData() { final data = [ new GaugeSegment('Low', 75, charts.MaterialPalette.blue.shadeDefault), new GaugeSegment( 'Acceptable', 100, charts.MaterialPalette.blue.shadeDefault), new GaugeSegment('High', 50, charts.MaterialPalette.blue.shadeDefault), new GaugeSegment( 'Highly Unusual', 55, charts.MaterialPalette.blue.shadeDefault), ]; return [ new charts.Series( id: 'Segments', domainFn: (GaugeSegment segment, _) => segment.segment, measureFn: (GaugeSegment segment, _) => segment.size, data: data, ) ]; } } /// Sample data type. class GaugeSegment { final String segment; final int size; final charts.Color color; GaugeSegment(this.segment, this.size, this.color); }