简体   繁体   English

Flutter json和图表

[英]Flutter json and chart

I have this code when i run it i cannot see anything in graph i cannot see the data too where is the problem?我有这段代码,当我运行它时,我在图中看不到任何东西,我也看不到数据,问题出在哪里?

import 'package:flutter/material.dart';导入“包:颤振/material.dart”; import 'dart:convert';导入“飞镖:转换”; import 'package:charts_flutter/flutter.dart' as charts;将“包:charts_flutter/flutter.dart”导入为图表;

class HeartRate extends StatefulWidget { @override _HeartRate createState() => _HeartRate(); class HeartRate 扩展 StatefulWidget { @override _HeartRate createState() => _HeartRate(); } }

class _HeartRate extends State { List<charts.Series<Rate, String>> rates = []; class _HeartRate 扩展 State { List<charts.Series<Rate, String>> rates = [];

List lista = [];列表列表 = [];

Future<List> loadRate() async { String jString = await DefaultAssetBundle.of(context).loadString('assets/heartrate.json'); Future<List> loadRate() async { String jString = await DefaultAssetBundle.of(context).loadString('assets/heartrate.json'); final jResponse = json.decode(jString);最终 jResponse = json.decode(jString); var idJson = jResponse['activities-heart']; var idJson = jResponse['activities-heart'];

 setState(() { for (Map i in idJson) { lista.add(Rate(i['dateTime'], i['heartrate'])); } }); return lista; }

List<charts.Series<Rate, String>> _finalData() { final data = lista; List<charts.Series<Rate, String>> _finalData() { final data = lista;

 return [ new charts.Series<Rate, String>( id: 'Heart Rate', domainFn: (Rate rate, _) => rate.date, measureFn:(Rate rate, _) => rate.hr, data: data, ), ]; }

@override void initState() { super.initState(); @override void initState() { super.initState(); loadRate();加载率(); rates = _finalData();费率 = _finalData(); } }

bar() { return new charts.BarChart( rates, primaryMeasureAxis: new charts.NumericAxisSpec(renderSpec: new charts.NoneRenderSpec()), domainAxis: new charts.OrdinalAxisSpec( showAxisLine: true, renderSpec: new charts.NoneRenderSpec()), layoutConfig: new charts.LayoutConfig( leftMarginSpec: new charts.MarginSpec.fixedPixel(0), topMarginSpec: new charts.MarginSpec.fixedPixel(0), rightMarginSpec: new charts.MarginSpec.fixedPixel(0), bottomMarginSpec: new charts.MarginSpec.fixedPixel(0)), ); bar() { return new charts.BarChart( rates, primaryMeasureAxis: new charts.NumericAxisSpec(renderSpec: new charts.NoneRenderSpec()), domainAxis: new charts.OrdinalAxisSpec( showAxisLine: true, renderSpec: new charts.NoneRenderSpec()), layoutConfig:新charts.LayoutConfig(leftMarginSpec:新charts.MarginSpec.fixedPixel(0),topMarginSpec:新charts.MarginSpec.fixedPixel(0),rightMarginSpec:新charts.MarginSpec.fixedPixel(0),bottomMarginSpec:新charts.MarginSpec。固定像素(0)),); } }

@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Heart Rate"), ), body: bar(), ); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text("Heart Rate"), ), body: bar(), ); } } } }

//class to get details class Rate { final String date; //获取详细信息的类 class Rate { final String date; int hr;国际小时;

Rate(this.date, this.hr);率(this.date,this.hr); } }

Use Syncfusion Chart library for Json Data.对 Json 数据使用 Syncfusion 图表库。 Here is the link to Official Website https://www.syncfusion.com/kb/11674/how-to-render-a-flutter-chart-using-the-json-data-sfcartesianchart这是官方网站https的链接://www.syncfusion.com/kb/11674/how-to-render-a-flutter-chart-using-the-json-data-sfcartesianchart

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM