, поэтому я недавно написал свое первое приложение для флаттера, и в какой-то момент мне захотелось отобразить LineChart с пакетом charts_flutter. В большинстве случаев это работает безупречно, но иногда график не растягивается до конца графика. К сожалению, мне не удалось точно воспроизвести эту ошибку, но я предполагаю, что это происходит, когда вы вводите около 10 записей (?). Вот так выглядит график, когда он не работает.
Я очень надеюсь, что кто-то может мне помочь, потому что у меня нет идей.
Вот мой код для диаграмма:
@override
Widget build(BuildContext context) {
final yTickFormatter = charts.BasicNumericTickFormatterSpec((num value) {
return value.toStringAsFixed(2) + SettingsUtil.currency;
});
final customTickFormatter =
charts.BasicNumericTickFormatterSpec((num value) {
if (value == 0 && SettingsUtil.savingEntries.length > 1) {
return SettingsUtil.savingEntries[1].getDateString();
} else if (value == 0 && SettingsUtil.savingEntries.length <= 1) {
return '';
} else {
return SettingsUtil.savingEntries[SettingsUtil.savingEntries.length - 1]
.getDateString();
}
});
return SizedBox(
width: MediaQuery.of(context).size.width - 20,
height: 200,
child: charts.LineChart(seriesList,
animate: animate,
primaryMeasureAxis: charts.NumericAxisSpec(
tickProviderSpec: charts.BasicNumericTickProviderSpec(
desiredMinTickCount: 2, desiredMaxTickCount: 3),
renderSpec: charts.GridlineRendererSpec(
// Tick and Label styling here.
labelStyle: charts.TextStyleSpec(
fontSize: 15, // size in Pts.
color: SettingsUtil.getChartTextColor())),
tickFormatterSpec: yTickFormatter,
),
domainAxis: charts.NumericAxisSpec(
renderSpec: charts.SmallTickRendererSpec(
// Tick and Label styling here.
labelStyle: charts.TextStyleSpec(
lineHeight: 3,
fontSize: 13, // size in Pts.
color: SettingsUtil.getChartTextColor())),
tickProviderSpec:
charts.BasicNumericTickProviderSpec(desiredTickCount: 2),
tickFormatterSpec: customTickFormatter,
),
customSeriesRenderers: [
charts.LineRendererConfig(
// ID used to link series to this renderer.
customRendererId: 'customArea',
includeArea: true,
stacked: true),
]),
);
}