栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在flutter图表中显示JSON数据

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在flutter图表中显示JSON数据

我认为您想要的是:

import 'dart:async';import 'dart:convert';import 'package:flutter/material.dart';import 'package:http/http.dart' as http;import 'package:charts_flutter/flutter.dart' as charts;void main() => runApp(new MyApp());class MyApp extends StatelessWidget {  @override  Widget build(BuildContext context) {    return new MaterialApp(      home: new MyHomePage(),    );  }}class MyHomePage extends StatefulWidget {  @override  _MyHomePageState createState() => new _MyHomePageState();}class _MyHomePageState extends State<MyHomePage> {  List data;  Timer timer;  makeRequest() async {    var response = await http.get(      'http://localhost/werkzeug/public/api/data_tool1',      headers: {'Accept': 'application/json'},    );    setState(() {      data = json.depre(response.body);    });  }  @override  void initState() {    super.initState();    timer = new Timer.periodic(new Duration(seconds: 2), (t) => makeRequest());  }  @override  void dispose() {    timer.cancel();    super.dispose();  }  @override  Widget build(BuildContext context) {    return new Scaffold(      appBar: new AppBar(        title: new Text('Tool Data'),      ),      body: data == null ? CircularProgressIndicator() : createChart(),    );  }  charts.Series<LiveWerkzeuge, String> createSeries(String id, int i) {    return charts.Series<LiveWerkzeuge, String>(      id: id,      domainFn: (LiveWerkzeuge wear, _) => wear.wsp,      measureFn: (LiveWerkzeuge wear, _) => wear.belastung,      // data is a List<LiveWerkzeuge> - extract the information from data      // could use i as index - there isn't enough information in the question      // map from 'data' to the series      // this is a guess      data: [        LiveWerkzeuge('WSP1', data[i]['temp1']),        LiveWerkzeuge('WSP2', data[i]['temp2']),        LiveWerkzeuge('WSP3', data[i]['temp3']),        LiveWerkzeuge('WSP4', data[i]['temp4']),        LiveWerkzeuge('WSP5', data[i]['temp5']),        LiveWerkzeuge('WSP6', data[i]['temp6']),        LiveWerkzeuge('WSP7', data[i]['temp7']),        LiveWerkzeuge('WSP8', data[i]['temp8']),      ],    );  }  Widget createChart() {    // data is a List of Maps    // each map contains at least temp1 (tool 1) and temp2 (tool 2)    // what are the groupings?    List<charts.Series<LiveWerkzeuge, String>> seriesList = [];    for (int i = 0; i < data.length; i++) {      String id = 'WZG${i + 1}';      seriesList.add(createSeries(id, i));    }    return new charts.BarChart(      seriesList,      barGroupingType: charts.BarGroupingType.grouped,    );  }}class LiveWerkzeuge {  final String wsp;  final int belastung;  LiveWerkzeuge(this.wsp, this.belastung);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号