syncfusion / flutter-widgets

Syncfusion Flutter widgets libraries include high quality UI widgets and file-format packages to help you create rich, high-quality applications for iOS, Android, and web from a single code base.
1.6k stars 783 forks source link

[syncfusion_flutter_charts] Axis with very small range causes crash #2138

Open DrNiels opened 1 month ago

DrNiels commented 1 month ago

Bug description

When trying to create an axis with a very small range, e.g., from 77499.99999999999 to 77500.00000000001, the chart is not loaded. After some wait duration, an error is thrown. In my case, the duration is approximately 30 seconds and the stack trace also looks like some kind of timeout to me.

I use syncfusion_flutter_charts in version 27.1.50

Steps to reproduce

Load the example and wait a bit.

Code sample

Code sample ```dart import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; void main() async { runApp( MaterialApp( home: Chart(), ), ); } class Chart extends StatefulWidget { @override State createState() => ChartState(); } class ChartState extends State { @override Widget build(BuildContext context) { return SfCartesianChart( primaryYAxis: NumericAxis( minimum: 77499.99999999999, maximum: 77500.00000000001, ), ); } } ```

Screenshots or Video

Screenshots / Video demonstration Nothing to see, it remains a blank screen

Stack Traces

Stack Traces ```dart Aborted() ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ The following NativeError object was thrown during performLayout(): RuntimeError: Aborted(). Build with -sASSERTIONS for more info. The relevant error-causing widget was: NumericAxis NumericAxis:org-dartlang-app:/chart_reproduce.dart:21:21 When the exception was thrown, this was the stack: canvaskit/chromium/canvaskit.js 93:151 Ea canvaskit/chromium/canvaskit.js 169:377 k canvaskit/chromium/canvaskit.js 116:52 _MakeFromFontCollection canvaskit/chromium/canvaskit.js 75:396 MakeFromFontCollection lib/_engine/engine/canvaskit/text.dart 1045:29 new lib/_engine/engine/canvaskit/renderer.dart 392:7 createParagraphBuilder lib/ui/text.dart 739:21 new packages/flutter/src/painting/text_painter.dart 1142:44 [_createParagraph] packages/flutter/src/painting/text_painter.dart 1198:64 layout packages/syncfusion_flutter_core/src/utils/helper.dart 154:14 measureText packages/syncfusion_flutter_charts/src/charts/axis/numeric_axis.dart 617:11 generateVisibleLabels packages/syncfusion_flutter_charts/src/charts/axis/axis.dart 1952:7 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/syncfusion_flutter_charts/src/charts/base.dart 2154:13 measureVerticalAxes packages/syncfusion_flutter_charts/src/charts/base.dart 2170:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/syncfusion_flutter_charts/src/charts/base.dart 944:23 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/syncfusion_flutter_charts/src/charts/common/core_legend.dart 990:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/shifted_box.dart 234:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/shifted_box.dart 234:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/proxy_box.dart 3728:13 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/widgets/overlay.dart 1002:12 layoutChild packages/flutter/src/widgets/overlay.dart 1311:9 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/custom_paint.dart 569:11 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/view.dart 281:7 performLayout packages/flutter/src/rendering/object.dart 2446:7 [_layoutWithoutResize] packages/flutter/src/rendering/object.dart 1052:17 flushLayout packages/flutter/src/rendering/object.dart 1065:14 flushLayout packages/flutter/src/rendering/binding.dart 602:5 drawFrame packages/flutter/src/widgets/binding.dart 1164:13 drawFrame packages/flutter/src/rendering/binding.dart 468:5 [_handlePersistentFrameCallback] packages/flutter/src/scheduler/binding.dart 1397:7 [_invokeFrameCallback] packages/flutter/src/scheduler/binding.dart 1318:9 handleDrawFrame packages/flutter/src/scheduler/binding.dart 1040:9 dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:11 internalCallback The following RenderObject was being processed when the exception was fired: RenderNumericAxis#9b381 relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT: creator: NumericAxis ← CartesianAxes ← CartesianChartArea ← KeyedSubtree-[GlobalKey#3ec34] ← _LegendLayoutHandler ← LegendLayout-[GlobalKey#4192a] ← Padding ← Padding ← DecoratedBox ← Container ← RepaintBoundary ← SfCartesianChart ← ⋯ parentData: offset=Offset(0.0, 0.0) (can use size) constraints: BoxConstraints(0.0<=w<=1900.0, 0.0<=h<=933.0) size: MISSING This RenderObject has no descendants. ════════════════════════════════════════════════════════════════════════════════════════════════════ Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/AppData/Local/Pub/Cache/hosted/pub.dev/syncfusion_flutter_charts-27.1.50/lib/src/charts/base.dart:947:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Aborted() Another exception was thrown: RuntimeError: Aborted(). Build with -sASSERTIONS for more info. Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/object.dart:304:16 Application finished. Exited (-1). ```

On which target platforms have you observed this bug?

Web

Flutter Doctor output

Doctor output ```console [√] Flutter (Channel stable, 3.24.3, on Microsoft Windows [Version 10.0.19045.5011], locale de-DE) • Flutter version 3.24.3 on channel stable at C:\Users\Niels\Documents\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 2663184aa7 (5 weeks ago), 2024-09-11 16:27:48 -0500 • Engine revision 36335019a8 • Dart version 3.5.3 • DevTools version 2.37.3 [√] Windows Version (Installed version of Windows is version 10 or higher) [√] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc4) • Android SDK at C:\Users\Niels\AppData\Local\Android\Sdk • Platform android-34, build-tools 34.0.0-rc4 • Java binary at: C:\Program Files\Android\Android Studio1\jbr\bin\java • Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314) • All Android licenses accepted. [√] Chrome - develop for the web • Chrome at C:\Users\Niels\AppData\Local\Google\Chrome\Application\chrome.exe [√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.6) • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community • Visual Studio Community 2022 version 17.8.34525.116 • Windows 10 SDK version 10.0.19041.0 [!] Android Studio (version 2021.2) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart X Unable to determine bundled Java version. • Try updating or re-installing Android Studio. [√] Android Studio (version 2024.1) • Android Studio at C:\Program Files\Android\Android Studio1 • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314) [√] VS Code, 64-bit edition (version 1.93.1) • VS Code at C:\Program Files\Microsoft VS Code • Flutter extension version 3.98.0 [√] Connected device (3 available) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19045.5011] • Chrome (web) • chrome • web-javascript • Google Chrome 129.0.6668.101 • Edge (web) • edge • web-javascript • Microsoft Edge 128.0.2739.42 [√] Network resources • All expected network resources are available. ! Doctor found issues in 1 category. ```
KompelliSravanSyncfusion commented 1 month ago

Hi @DrNiels ,

We have reviewed your query, and to resolve the issue of the chart not loading when using a very small range difference between two data points, we recommend setting the interval property for the axis. Using this, the axis labels can be created at a specified interval, ensuring the chart renders properly. You may also consider using the decimalPlaces property to control the number of decimal digits displayed in the numeric axis labels.

Code snippet:

primaryYAxis: const NumericAxis(
  minimum: 77499.99999999999,
  maximum: 77500.00000000001,
  interval: 0.00000000002,
  decimalPlaces: 11,  
),

For more details, please refer to this user guide links:

Interval: https://help.syncfusion.com/flutter/cartesian-charts/axis-types#customizing-interval

Decimal places: https://help.syncfusion.com/flutter/cartesian-charts/axis-types#decimal-places

Regards, Kompelli Sravan Kumar.

DrNiels commented 1 month ago

That doesn't fix the issue in my case. Here's my updated example:

Code sample ```dart import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; void main() async { runApp( MaterialApp( home: Chart(), ), ); } class Chart extends StatefulWidget { @override State createState() => ChartState(); } class ChartState extends State { @override Widget build(BuildContext context) { return SfCartesianChart( primaryYAxis: NumericAxis( minimum: 77499.99999999999, maximum: 77500.00000000001, interval: 0.000000000005, decimalPlaces: 20, ), ); } } ```` The stack trace looks identical as well. But just in case I missed some fine differences, here's the new one:
Stack Traces ```dart Launching chart_reproduce.dart on Chrome in debug mode... "it": 515 untranslated message(s). "pt": 175 untranslated message(s). To see a detailed report, use the untranslated-messages-file option in the l10n.yaml file: untranslated-messages-file: desiredFileName.txt : This will generate a JSON format file containing all messages that need to be translated. Warning: In index.html:145: "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead. See https://docs.flutter.dev/platform-integration/web/initialization for more details. This app is linked to the debug service: ws://127.0.0.1:50885/xtWbHFptrVc=/ws Debug service listening on ws://127.0.0.1:50885/xtWbHFptrVc=/ws Connecting to VM Service at ws://127.0.0.1:50885/xtWbHFptrVc=/ws Connected to the VM Service. Aborted() ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ The following NativeError object was thrown during performLayout(): RuntimeError: Aborted(). Build with -sASSERTIONS for more info. The relevant error-causing widget was: NumericAxis NumericAxis:org-dartlang-app:/chart_reproduce.dart:21:21 When the exception was thrown, this was the stack: canvaskit/chromium/canvaskit.js 93:151 Ea canvaskit/chromium/canvaskit.js 169:377 k canvaskit/chromium/canvaskit.js 116:52 _MakeFromFontCollection canvaskit/chromium/canvaskit.js 75:396 MakeFromFontCollection lib/_engine/engine/canvaskit/text.dart 1045:29 new lib/_engine/engine/canvaskit/renderer.dart 392:7 createParagraphBuilder lib/ui/text.dart 739:21 new packages/flutter/src/painting/text_painter.dart 1142:44 [_createParagraph] packages/flutter/src/painting/text_painter.dart 1198:64 layout packages/syncfusion_flutter_core/src/utils/helper.dart 154:14 measureText packages/syncfusion_flutter_charts/src/charts/axis/numeric_axis.dart 617:11 generateVisibleLabels packages/syncfusion_flutter_charts/src/charts/axis/axis.dart 1952:7 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/syncfusion_flutter_charts/src/charts/base.dart 2154:13 measureVerticalAxes packages/syncfusion_flutter_charts/src/charts/base.dart 2170:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/syncfusion_flutter_charts/src/charts/base.dart 944:23 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/syncfusion_flutter_charts/src/charts/common/core_legend.dart 990:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/shifted_box.dart 234:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/shifted_box.dart 234:5 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/proxy_box.dart 3728:13 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/widgets/overlay.dart 1002:12 layoutChild packages/flutter/src/widgets/overlay.dart 1311:9 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/custom_paint.dart 569:11 performLayout packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/proxy_box.dart 111:21 packages/flutter/src/rendering/object.dart 2608:7 layout packages/flutter/src/rendering/view.dart 281:7 performLayout packages/flutter/src/rendering/object.dart 2446:7 [_layoutWithoutResize] packages/flutter/src/rendering/object.dart 1052:17 flushLayout packages/flutter/src/rendering/object.dart 1065:14 flushLayout packages/flutter/src/rendering/binding.dart 602:5 drawFrame packages/flutter/src/widgets/binding.dart 1164:13 drawFrame packages/flutter/src/rendering/binding.dart 468:5 [_handlePersistentFrameCallback] packages/flutter/src/scheduler/binding.dart 1397:7 [_invokeFrameCallback] packages/flutter/src/scheduler/binding.dart 1318:9 handleDrawFrame packages/flutter/src/scheduler/binding.dart 1040:9 dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:11 internalCallback The following RenderObject was being processed when the exception was fired: RenderNumericAxis#79de7 relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT: creator: NumericAxis ← CartesianAxes ← CartesianChartArea ← KeyedSubtree-[GlobalKey#577de] ← _LegendLayoutHandler ← LegendLayout-[GlobalKey#625ec] ← Padding ← Padding ← DecoratedBox ← Container ← RepaintBoundary ← SfCartesianChart ← ⋯ parentData: offset=Offset(0.0, 0.0) (can use size) constraints: BoxConstraints(0.0<=w<=678.0, 0.0<=h<=583.0) size: MISSING This RenderObject has no descendants. ════════════════════════════════════════════════════════════════════════════════════════════════════ Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/AppData/Local/Pub/Cache/hosted/pub.dev/syncfusion_flutter_charts-27.1.50/lib/src/charts/base.dart:947:12 Aborted() Another exception was thrown: RuntimeError: Aborted(). Build with -sASSERTIONS for more info. Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/object.dart:304:16 Aborted() Another exception was thrown: RuntimeError: Aborted(). Build with -sASSERTIONS for more info. Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/object.dart:304:16 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12 Aborted() ```` Even if it would work, I consider setting an interval a workaround until the fix and not a solution, even though a workaround would have been nice as well. In addition, the error occurs as well if I don't set minimum and maximum and the values of a series ranges in a corresponding small range, which would require some additional preparation when using a chart instead of simple dumping the values inside, no matter how small the range.
KompelliSravanSyncfusion commented 3 weeks ago

Hi DrNeils,

We have validated the reported issue, and it's occurring due to a very small difference between the data points. The difference between the data points 77499.99999999999 and 77500.00000000001 is 0.00000000002. This small difference results from the precision limitations inherent in floating-point arithmetic. To avoid this issue, we suggest using an interval property value of 0.01 for the axis.

Currently, we don’t support handling large decimals, but we have already logged a feature request for it in our feedback portal. We will prioritize the features of every release based on demand and priority, so this feature will be available in one of our upcoming releases. You can also track the status of the feature using the feedback link below.

Feedback Link: https://www.syncfusion.com/feedback/51656/support-to-render-the-chart-with-having-large-decimal-data

Regards, Kompelli Sravan Kumar.

DrNiels commented 2 weeks ago

I would consider this a bug and not a feature as it causes crashes. For now, I guess I'll need to handle this special case manually, so my app doesn't crash.

DrNiels commented 6 days ago

I see the tag "Waiting for customer response" is still set. Cann I support you with any more information? Or did you simply forget to remove it?