flutter - Flutter 需要一个条形图,我可以在其中单击条形图以打开包含相关信息的新页面
问题描述
我需要一个条形图,我可以在其中单击条形图打开一个带有相关信息的新页面,这是我到目前为止的代码。我一直在寻找解决方案,但找不到。总的来说,这将有助于我正在构建的仪表板应用程序
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:flutter/material.dart';
class SubscriberChart extends StatelessWidget {
final List<SubscriberSeries> data;
final String heading;
SubscriberChart({@required this.data, String this.heading});
@override
Widget build(BuildContext context) {
List<charts.Series<SubscriberSeries, String>> series
= [
charts.Series(
id: 'SubscriberSeries',
domainFn: (SubscriberSeries series, _) => series.year,
measureFn: (SubscriberSeries series, _)=> series.subscribers,
data: data,
colorFn: (SubscriberSeries series, _)=> series.barColor,
//Bar Label
labelAccessorFn: (SubscriberSeries series, _)=> (series.subscribers).toString(),
)//Series(
];//List
return Container(
height: 400,
padding: EdgeInsets.all(20),
child: Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: <Widget>[
Text( heading,
style: Theme.of(context).textTheme.body2, //children: <Widget>
),//Text
Expanded(
child: charts.BarChart(series,
animate: true,
barRendererDecorator: new charts.BarLabelDecorator(),
// Hide domain axis.
//domainAxis:
//new charts.OrdinalAxisSpec(renderSpec: new charts.NoneRenderSpec()),
),//charts.BarChart,
)//Expanded
]//children: <Widget>[
),
),//Column
),//card
);//Container
}// widget build
} //SubscriberChart2
class SubscriberSeries{
final String year;
final int subscribers;
final charts.Color barColor;
SubscriberSeries(
{@required this.year,
@required this.subscribers,
@required this.barColor}
);
}//class
解决方案
使用WidgetselectionModels
的数组属性。BarChart
推荐阅读
- r - 根据模式匹配和两个附加条件合并两个数据帧
- node.js - 在 node.js 中搜索 JSON 数据
- php - AJAX - 如何更新购物车计数并每 5 分钟检查一次状态更改
- swift - 为什么我的 Realm 数据库中只有一个对象显示在我的 tableView 上?
- r - 使用 dplyr 的 mutate 和 case_when 来测试多列(日期间隔)
- postgresql - 从临时表更新每组选择“最后”行
- sql - 如何删除Oracle中的重复项?
- python - 可以同时写入文件并在不同的程序中读取它吗
- amazon-web-services - 使用 Cloudformation 将网页连接到 rds
- python - SQLAlchemy db.create_all() 错误,未创建数据库