Flutter-charts_flutter圖表
pub.dev搜索charts_flutter
導入依賴
charts_flutter: ^0.8.1
項目導入
import 'package:charts_flutter/flutter.dart' as charts;
例子
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("日期:${_year}"),
),
),
Expanded(
child: Container(
alignment: Alignment.center,
child: Text("数值:${_sales}"),
),
)
],
),
Container(
width: double.infinity,
height: 200.0,
child: charts.BarChart(
//通过下面获取数据传入
ChartFlutterBean.createSampleData(),
//配置项,以及设置触发的函数
selectionModels: [
charts.SelectionModelConfig(
type: charts.SelectionModelType.info,
changedListener: _onSelectionChanged,
)
],
),
),
],
),
);
} }
//一下为组合柱状图数据部分
class OrdinalSales {
final String year;
final double sales; OrdinalSales(this.year, 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,
)
];
}
}
一個詳細自定的:https://juejin.im/post/5c67a6a0f265da2dae510fa2
Flutter-charts_flutter圖表的更多相关文章
- [RadControl] RadCartesianChart-功能強大圖表控件
由於最近做了一些統計的圖表分析,須使用到RadCartesianChart控件,因此就在這分享給大家順便為自己學習紀錄一下. 在介紹RadCartesianChart控件前,先看一下我所使用的到的功能 ...
- flutter中的表单使用
Flutter 中常见的表单有 TextField 单行文本框,TextField 多行文本框.CheckBox.Radio.Switch.CheckboxListTile.RadioListTile ...
- Flutter 中的表单
一.Flutter 常用表单介绍 Flutter 中常见的表单有 TextField 单行文本框,TextField 多行文本框.CheckBox.Radio.Switch CheckboxLi ...
- 25.Flutter中的表单 Radio RadioListTile Switch SwitchListTile 以及表单组件实现一个简单的学员登记系统(下)
四.Radio.RadioListTile单选按钮组件 Radio常用属性: value单选的值. onChanged改变时触发. activeColor:选中的颜色.背景颜色 groupValue: ...
- WPF 圖表控件 MetroChart
Torsten Mandelkow MetroChart包括以下: ColumnChart(ClusteredColumnChart,StackedColumnChart,StackedColumnC ...
- 使用chart.js時取消懸浮在圖表頂部的'undefined'標識
解決方法:在options中設置legend項中display屬性為false options: { scales: { yAxes: [{ ticks: { beginAtZero: true } ...
- Grafana展示報表數據的配置(二)
一.Grafana以圖表的形式展示KPI報表的結果數據1.按照日期顯示數據達標量與未達標量2.顯示當前報表的最大值.最小值.平均值.總量3.報表結果數據的鏈接分享與頁面嵌入,用戶無需登錄直接訪問報表統 ...
- MS Chart Control 學習手記(二) - 圓餅圖
using System.Web.UI.DataVisualization.Charting; 02 using System.Drawing; 03 04 namespace Chart.AJA ...
- 【Flutter学习】组件学习之目录
01. Flutter组件-Layout-Container-容器 02. Flutter组件-Text-Text-文本 03. Flutter组件-Text-RichText-富文本 04. ...
随机推荐
- 如何删除由Automater创建的服务
想要设置两个实用的快捷设置(如何设置): 1.复制当前文件或者文件夹路径 2.在终端打开文件夹 然后想到可以用mac自带的自动操作这款软件,英文叫Automater.接着发现,显示路径栏后,直接就提供 ...
- postman使用小结
需要权限验证: cookie就是存在本地的键值对,session存在服务器端的键值对 上传文件: form_data选择file ,输入传入的参数
- 三种方式创建bean对象在springIOC容器中初始化、销毁阶段要调用的自定义方法
1. 使用@Bean注解定义initMethod和destroyMethod 所谓initMethod和destroyMethod,是指在springIOC容器中,对于bean对象执行到初始化阶段和销 ...
- 重拾SQL——从无到有
2016.10.22 因为工作需要,在这里提前重拾sql. 0.创建并选择数据库 mysql> SHOW DATABASES; +--------------------+ | Database ...
- TensorFlow学习笔记-总结与排错
总结 为了学习和使用tensorflow作为工具, 我决定逐步亲自动手一行行写一下: [x] MNIST手写模型; [x] MNIST多层感知机(前馈神经网络,2层); [x] MNIST卷积网络(2 ...
- “希希敬敬对”队软件工程第九次作业-beta冲刺第二次随笔
队名: “希希敬敬对” 龙江腾(队长) 201810775001 杨希 201810812008 何敬上 201810812004 今日讨论会议照片一张: 每个人 ...
- Java相关面试题总结+答案(九)
[MySQL] 164. 数据库的三范式是什么? 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项. 第二范式:属性完全依赖于主键(满足第一范式的前提下),即任意一个字段只依赖 ...
- Java相关面试题总结+答案(七)
[Hibernate] 113. 为什么要使用 hibernate? hibernate 是对 jdbc 的封装,大大简化了数据访问层的繁琐的重复性代码. hibernate 是一个优秀的 ORM 实 ...
- 使用Vsftpd服务(匿名访问模式、本地用户模式)
FTP协议占用两个端口号: 21端口:命令控制,用于接收客户端执行的FTP命令. 20端口:数据传输,用于上传.下载文件数据.. FTP数据传输的类型: 主动模式:FTP服务端主动向FTP客户端发起连 ...
- Flask搭建简单的get请求
用virtualenv venv搭建python虚拟环境.然后执行. #!/usr/bin/env pythonfrom flask import Flask, render_template, re ...