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. ...
随机推荐
- IO 输入输出流
1) 数据流: 一组有序,有起点和终点的字节的数据序列.包括输入流和输出流.
- Web引用中文个性字体
最近在前端开发时,因为设计的原因,要引用一些特殊字体(otf格式),但是后来发现这些字体文件非常大,平均每个要8mb左右,严重影响了网页效率.经过一番搜索,发现了前端字体压缩工具(只支持utf-8格式 ...
- shell后台进程
建立duplicate_removal.sh文件,内容如下:#!/bin/bashmysql -vvv -u root -p123456 test -e "truncate t_target ...
- java 中 进程和线程的区别
目录 什么是进程?什么是线程? 为什么要有线程? 进程与线程的区别? 进程与线程的选择取决条件? 什么是进程?什么是线程?进程:进程是并发执行程序在执行过程中资源分配和管理的基本单位(资源分配的最小单 ...
- canvas 时钟案例
<!doctype html><html><head> <meta charset="UTF-8"> <meta name=& ...
- 图书-软件架构:《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书)
ylbtech-图书-软件架构:<Design Patterns: Elements of Reusable Object-Oriented Software>(即后述<设计模式&g ...
- Vue音乐播放器(三):项目目录介绍,以及图标字体、公共样式等资源准备
我们所有的开发都是基于修改src下面的目录 里面的文件去做开发即可 stylus的使用是需要下载stylus-loader的包的 渲染效果 配置修改eslintrc.js 配置了webpack.bas ...
- Linux_DHCP&DHCP Relay
目录 目录 DHCP DHCP Relay Setup DHCPServer Setup ClientPort DHCPDHCPRelay Setup DHCPRelay service DHCP D ...
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第6节 权限修饰符_6_四种权限修饰符
四种权限修饰符.从大到小 纵向再分成四种情况 同一个类 同一个类里面.private方式,可以访问到本类里面的 num成员变量 前面不写修饰符也能访问到 (default)就是不写的这种情况 受保护的 ...
- python--url编码/解码
from urllib import parse 1.url编码:#定义一个url请求url='http://www.baidu.com?query=python基础教程' url_str = par ...