pub.dev search charts_flutter
Import dependence
charts_flutter: ^0.8.1
Project Import
import 'package:charts_flutter/flutter.dart' as charts;
example
import 'package:flutter/material.dart'; import 'package:charts_flutter/flutter.dart' as charts; class IndexGrowUpScreen extends StatefulWidget { @override _IndexGrowUpScreenState createState() => _IndexGrowUpScreenState(); } class _IndexGrowUpScreenState extends State<IndexGrowUpScreen> { String _year; double _sales; //点击柱状图触发的函数 _onSelectionChanged(charts.SelectionModel model) { final selectedDatum = model.selectedDatum; print(selectedDatum.first.datum.year); print(selectedDatum.first.datum.sales); print(selectedDatum.first.series.displayName); setState(() { //改变两个显示的数值 _year = selectedDatum.first.datum.year; _sales = selectedDatum.first.datum.sales; }); } @override Widget build(BuildContext context) { return Container( child: Column( children: <Widget>[ Row( children: <Widget>[ Expanded( child: Container( Alignment: Alignment.center, child: Text( "Date: year $ {_}" ), ), ), Expanded ( Child: Container ( Alignment: Alignment.center, Child: the Text ( "numerical value: $ {_} Sales" ), ), ) ] , ), Container ( width: Double .infinity, height: 200.0 , Child: charts.BarChart ( // by obtaining the following data into ChartFlutterBean.createSampleData (), // configuration item, and set the trigger function selectionModels: [ charts.SelectionModelConfig ( type: charts.SelectionModelType.info, changedListener: _onSelectionChanged, ) ], ), ), ], ), ); } } // at a combination portion of the histogram data class OrdinalSales { Final String year; Final Double Sales; OrdinalSales ( the this .year, the this .sales); } class ChartFlutterBean { static List<charts.Series<OrdinalSales, String>> createSampleData() { final data = [ OrdinalSales('日', 114), OrdinalSales('一', 115), OrdinalSales('二', 116), OrdinalSales('三', 117), OrdinalSales('四', 118), OrdinalSales('五', 119), OrdinalSales('六', 120), OrdinalSales('日', 121), ]; return [ new charts.Series<OrdinalSales, String>( id: 'Sales', colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault, domainFn: (OrdinalSales sales, _) => sales.year, measureFn: (OrdinalSales sales, _) => sales.sales, data: data, ) ]; } }