import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import 'package:scrobbles/config/app_colors.dart'; class CustomLineChart extends StatelessWidget { const CustomLineChart({super.key}); final double chartHeight = 150.0; final double titleFontSize = 10; @override Widget build(BuildContext context) { return Container( child: SizedBox( height: this.chartHeight, ), ); } FlBorderData getBorderData() { return FlBorderData( show: false, ); } FlGridData getGridData() { return const FlGridData( show: false, ); } FlTitlesData getTitlesData() { const AxisTitles none = const AxisTitles( sideTitles: SideTitles(showTitles: false), ); final AxisTitles verticalTitles = AxisTitles( sideTitles: SideTitles( showTitles: true, reservedSize: 35, getTitlesWidget: getVerticalTitlesWidget, interval: 25, ), ); final AxisTitles verticalSpacer = AxisTitles( sideTitles: SideTitles( showTitles: true, reservedSize: 35, getTitlesWidget: getVerticalTitlesSpacerWidget, ), ); final AxisTitles horizontalTitles = AxisTitles( sideTitles: SideTitles( showTitles: true, reservedSize: 20, getTitlesWidget: getHorizontalTitlesWidget, ), ); return FlTitlesData( show: true, bottomTitles: horizontalTitles, leftTitles: verticalSpacer, topTitles: none, rightTitles: verticalTitles, ); } Widget getVerticalTitlesWidget(double value, TitleMeta meta) { return SideTitleWidget( axisSide: meta.axisSide, space: 4, child: Text( value.toInt().toString() + ' %', style: TextStyle( color: AppColors.mainTextColor1, fontSize: this.titleFontSize, ), ), ); } Widget getVerticalTitlesSpacerWidget(double value, TitleMeta meta) { return SideTitleWidget( axisSide: meta.axisSide, space: 4, child: Text(''), ); } Widget getHorizontalTitlesWidget(double value, TitleMeta meta) { return Text(''); } }