我能导入数据,就没法将导入的数据绘制图表。
mport 'dart:math';
import 'package:csv/csv.dart';
import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:flutter/services.dart' show rootBundle;
class ChartTestPage extends StatelessWidget {
//const ChartTestPage({Key key}) : super(key: key);
List<List<dynamic>> _counter = [];
loadCSVFormAssets() async {
final myData = await rootBundle.loadString("assets/testdata1.csv");
List<List<dynamic>> csvTable = CsvToListConverter().convert(myData);
print(csvTable);
_counter.add(csvTable);
//setState(() {});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("chart_flutter")),
body: Column(children: [Container(height: 240, child: _simpleLine())]),
);
}
Widget _simpleLine() {
//var random = Random();
loadCSVFormAssets();
var data = [
for (var i = 1; i < csvTable.length; i++)
LinearSales(csvTable[i][0], csvTable[i][1])
// LinearSales(0, random.nextInt(100)),
];
var seriesList = [
charts.Series<LinearSales, int>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
domainFn: (LinearSales sales, _) => sales.year,
measureFn: (LinearSales sales, _) => sales.sales,
data: data,
)
];
return charts.LineChart(seriesList, animate: true);
}
}
class LinearSales {
final int year;
final int sales;
LinearSales(this.year, this.sales);
}