From 09854a6237e62237414f529d1098e5809749843a Mon Sep 17 00:00:00 2001 From: otbenjello Date: Mon, 27 Nov 2023 14:37:45 +0100 Subject: [PATCH] ajouts axes graphes --- .../mobile/mobile_bpm_and_speed_by_time.dart | 30 +++++----- .../graph/web/web_altitude_by_time.dart | 13 ++++- .../graph/web/web_bpm_and_speed_by_time.dart | 57 ++++++++++++++----- 3 files changed, 72 insertions(+), 28 deletions(-) diff --git a/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart b/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart index c5a70f9..de15c57 100644 --- a/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart +++ b/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart @@ -208,20 +208,24 @@ class _MobileGraphBpmAndSpeedByTime extends State topTitles: const AxisTitles(), bottomTitles: const AxisTitles(), rightTitles: AxisTitles( - sideTitles: rightTitles, - )), + sideTitles: SideTitles( + reservedSize: 70, + showTitles: true, + getTitlesWidget: (value, meta) { + return Text("${double.parse(value.toStringAsFixed(2))} BPM"); + }, + ))), gridData: FlGridData( - show: true, - drawHorizontalLine: true, - horizontalInterval: 25, - drawVerticalLine: false, - getDrawingHorizontalLine: (value) { - return FlLine( - color: TColor.gray.withOpacity(0.15), - strokeWidth: 2, - ); - }, - ), + drawVerticalLine: true, + drawHorizontalLine: true, + horizontalInterval: (maxY - minY) / 5, + verticalInterval: (maxX - minX) / 4, + getDrawingHorizontalLine: (value) { + return FlLine( + color: TColor.gray.withOpacity(0.15), + strokeWidth: 1, + ); + }), borderData: FlBorderData( show: true, border: Border.all( diff --git a/lib/common_widget/graph/web/web_altitude_by_time.dart b/lib/common_widget/graph/web/web_altitude_by_time.dart index 8203c40..f97d933 100644 --- a/lib/common_widget/graph/web/web_altitude_by_time.dart +++ b/lib/common_widget/graph/web/web_altitude_by_time.dart @@ -19,6 +19,10 @@ class WebGraphAltitudeByTime extends StatefulWidget { class _WebGraphAltitudeByTime extends State { @override Widget build(BuildContext context) { + final double maxX = + widget.data.bpmSecondes[widget.data.bpmSecondes.length - 1].x; + final double minX = + 0.0; final double maxY = context.watch().listActivity[0].getMaxAltitude() + 2; final double minY = @@ -56,7 +60,14 @@ class _WebGraphAltitudeByTime extends State { titlesData: FlTitlesData( leftTitles: const AxisTitles(), topTitles: const AxisTitles(), - bottomTitles: const AxisTitles(), + bottomTitles: AxisTitles( + sideTitles: SideTitles( + reservedSize: 20, + showTitles: true, + getTitlesWidget: (value, meta) { + return Text("${double.parse((value/10).toStringAsFixed(2))}s"); + }, + )), rightTitles: AxisTitles( sideTitles: SideTitles( reservedSize: 60, diff --git a/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart b/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart index 0521114..3965178 100644 --- a/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart +++ b/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart @@ -1,6 +1,8 @@ import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart'; +import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart'; class WebGraphBpmAndSpeedByTime extends StatefulWidget { @@ -75,6 +77,7 @@ class _WebGraphBpmAndSpeedByTime extends State { dotData: const FlDotData(show: false), belowBarData: BarAreaData(show: false), spots: widget.data.vitesseSecondes, + ); LineChartBarData get lineChartBarData1_2 => LineChartBarData( @@ -94,6 +97,20 @@ class _WebGraphBpmAndSpeedByTime extends State { @override Widget build(BuildContext context) { + + final double maxY = + context.watch().listActivity[0].getMaxBpm() + 2; + final double minY = + context.watch().listActivity[0].getMinBpm() - 2; + final double maxY1 = + context.watch().listActivity[0].getMaxBpm() + 2; + final double minY2 = + context.watch().listActivity[0].getMinBpm() - 2; + final double maxX = + widget.data.bpmSecondes[widget.data.bpmSecondes.length - 1].x; + final double minX = + 0.0; + final lineBarsData = [ LineChartBarData( spots: widget.data.bpmSecondes, @@ -110,6 +127,7 @@ class _WebGraphBpmAndSpeedByTime extends State { gradient: LinearGradient( colors: TColor.secondaryG, ), + ), ]; final tooltipsOnBar = lineBarsData[0]; @@ -197,22 +215,33 @@ class _WebGraphBpmAndSpeedByTime extends State { sideTitles: rightTitles, ), topTitles: const AxisTitles(), - bottomTitles: const AxisTitles(), + bottomTitles: AxisTitles( + sideTitles: SideTitles( + reservedSize: 20, + showTitles: true, + getTitlesWidget: (value, meta) { + return Text("${double.parse((value/10).toStringAsFixed(2))}s"); + }, + )), rightTitles: AxisTitles( - sideTitles: rightTitles, - )), + sideTitles: SideTitles( + reservedSize: 70, + showTitles: true, + getTitlesWidget: (value, meta) { + return Text("${double.parse(value.toStringAsFixed(2))} BPM"); + }, + ))), gridData: FlGridData( - show: true, - drawHorizontalLine: true, - horizontalInterval: 25, - drawVerticalLine: false, - getDrawingHorizontalLine: (value) { - return FlLine( - color: TColor.gray.withOpacity(0.15), - strokeWidth: 2, - ); - }, - ), + drawVerticalLine: true, + drawHorizontalLine: true, + horizontalInterval: (maxY - minY) / 5, + verticalInterval: (maxX - minX) / 4, + getDrawingHorizontalLine: (value) { + return FlLine( + color: TColor.gray.withOpacity(0.15), + strokeWidth: 1, + ); + }), borderData: FlBorderData( show: true, border: Border.all(