import 'package:chartdemo/api.dart';
import 'package:chartdemo/model.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:syncfusion_flutter_charts/charts.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
//ChartData chartdataS = ChartData();
List<Datum> listitem = [];
Future<ChartData> data;
// void getChartData() async {
// chartdataS = await chartService('BTC');
// listitem.addAll(chartdataS.data);
// }
@override
void initState() {
super.initState();
data = chartService('BTC');
//getChartData();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: Column(
children: [
Container(
height: 300,
//width: MediaQuery.of(context).size.width - 2,
child: Card(
elevation: 2,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0),
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
//width: MediaQuery.of(context).size.width - 40,
child: FutureBuilder<ChartData>(
future: data,
builder: (context, snapshot) {
if (snapshot.data != null) {
return Container(
child: SfCartesianChart(
plotAreaBorderWidth: 0,
//title: ChartTitle(text: isCardView ? '' : 'Sales comparison'),
legend: Legend(
//isVisible: true,
//isVisible: isCardView ? false : true,
overflowMode: LegendItemOverflowMode.scroll),
primaryXAxis: DateTimeAxis(
//isVisible: false,
interval: 5,
//edgeLabelPlacement: EdgeLabelPlacement.shift,
intervalType: DateTimeIntervalType.seconds,
dateFormat:
DateFormat('''MM/dd/yy\nh:mm a'''),
name: 'Years',
majorGridLines: MajorGridLines(width: 0)),
primaryYAxis: NumericAxis(
//isVisible: false,
//minimum: 80,
// maximum: 110,
//interval: 500,
rangePadding: ChartRangePadding.none,
name: 'Price',
axisLine: AxisLine(width: 0),
majorTickLines: MajorTickLines(
color: Colors.transparent)),
series: <FastLineSeries<Datum, DateTime>>[
FastLineSeries<Datum, DateTime>(
dataSource: snapshot.data.data,
xValueMapper: (Datum data, _) =>
DateTime(data.date),
yValueMapper: (Datum data, _) => data.low,
),
],
trackballBehavior: TrackballBehavior(
enable: true,
lineColor: Colors.indigo,
lineWidth: 0,
activationMode: ActivationMode.singleTap,
markerSettings: TrackballMarkerSettings(
borderWidth: 4,
height: 10,
width: 10,
markerVisibility:
TrackballVisibilityMode.visible)),
),
);
}
return Container(
child: CircularProgressIndicator(),
);
},
),
),
)),
),
),
],
),
),
);
}
}
i'm getting data from api calling and using future builder im push that data into sfcartesianchart as data source and its worked perfectrly
for two days and then its suddenly gives an error as i mentioned in subject and i attached screenshot too in zip file. and here is my code as
above.