v0.4.6fl_heatmap
Um widget de mapa de calor para aplicativos Flutter com várias opções de estilização.
56Curtidas 3,5 milDownloads em 30 dias160Pontos Pub
AndroidiOSWebmacOSWindowsLinux
Um mapa de calor construído para aplicativos Flutter.
Texto original em inglês. Visite o GitHub para a versão atual.
A heatmap widget for Flutter apps.
Add it to your package's pubspec.yaml file
dependencies:
fl_heatmap: ^0.1.0
Install packages from the command line
flutter packages get
This is an example for the months of four years:
import 'package:fl_heatmap/fl_heatmap.dart';
class _ExampleState extends State<ExampleApp> {
HeatmapItem? selectedItem;
late HeatmapData heatmapData;
@override
void initState() {
_initExampleData();
super.initState();
}
void _initExampleData() {
const rows = [
'2022',
'2021',
'2020',
'2019',
];
const columns = [
'Jan',
'Feb',
'Mär',
'Apr',
'Mai',
'Jun',
'Jul',
'Aug',
'Sep',
'Okt',
'Nov',
'Dez',
];
final r = Random();
const String unit = 'kWh';
heatmapData = HeatmapData(rows: rows, columns: columns, items: [
for (int row = 0; row < rows.length; row++)
for (int col = 0; col < columns.length; col++)
HeatmapItem(
value: r.nextDouble() * 6,
unit: unit,
xAxisLabel: columns[col],
yAxisLabel: rows[row]),
]);
}
@override
Widget build(BuildContext context) {
final title = selectedItem != null
? '${selectedItem!.value.toStringAsFixed(2)} ${selectedItem!.unit}'
: '--- ${heatmapData.items.first.unit}';
final subtitle = selectedItem != null
? '${selectedItem!.xAxisLabel} ${selectedItem!.yAxisLabel}'
: '---';
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Heatmap plugin example app'),
),
body: SingleChildScrollView(
child: Column(
children: [
const SizedBox(height: 16),
Text(title, textScaleFactor: 1.4),
Text(subtitle),
const SizedBox(height: 8),
Heatmap(
onItemSelectedListener: (HeatmapItem? selectedItem) {
debugPrint(
'Item ${selectedItem?.yAxisLabel}/${selectedItem?.xAxisLabel} with value ${selectedItem?.value} selected');
setState(() {
this.selectedItem = selectedItem;
});
},
rowsVisible: 5, // Only the first 5 rows are visible
heatmapData: heatmapData)
],
),
),
),
);
}
}
If necessary you can inherit from HeatmapItem and attach some payload, e.g. the electricity costs for the consumption:
class CustomHeatmapItem extends HeatmapItem {
CustomHeatmapItem(
{required this.costs,
required double value,
required String unit,
required String xAxisLabel,
required String yAxisLabel})
: super(
value: value,
unit: unit,
xAxisLabel: xAxisLabel,
yAxisLabel: yAxisLabel);
final double costs;
}
colorPaletteTemperature, colorPaletteRed, colorPaletteBlue.| EHW+ | Your app? |
|---|---|
| ... |
Lista de dependências 3 itens
{"sdk":"flutter"}{"sdk":"flutter"}^1.0.0Filtre pelo caso de uso, compare a atividade e confira o projeto original antes de adotá-lo.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗