flutter-charts icon indicating copy to clipboard operation
flutter-charts copied to clipboard

Animated Chart Type Error when using duration over 30 milliseconds

Open floodoo opened this issue 2 years ago • 4 comments

Description:

I encountered an issue with the Animated Chart in your charts_painter library. Specifically, when I set the animation duration over 30 milliseconds, I receive the following error:

Exception: type 'ChartItem<void>' is not a subtype of type 'ChartItem<MyCustomModel?>' of 'startValue' or Exception: type 'ChartItem<void>' is not a subtype of type 'ChartItem<MyCustomModel?>' of 'endValue'

Stacktrace

String: type 'ChartItem<void>' is not a subtype of type 'ChartItem<MyCustomModel?>' of 'endValue'
#0      ChartItem.animateTo (package:charts_painter/chart/model/geometry/chart_item.dart:21:41)
#1      ChartItemsLerp._lerpItemList.<anonymous closure> (package:charts_painter/chart/model/data/chart_data.dart:237:25)
#2      new _GrowableList.generate (dart:core-patch/growable_array.dart:136:28)
#3      ChartItemsLerp._lerpItemList (package:charts_painter/chart/model/data/chart_data.dart:193:12)
#4      ChartItemsLerp.lerpValues.<anonymous closure> (package:charts_painter/chart/model/data/chart_data.dart:181:14)
#5      new _GrowableList.generate (dart:core-patch/growable_array.dart:136:28)
#6      ChartItemsLerp.lerpValues (package:charts_painter/chart/model/data/chart_data.dart:180:12)
#7      ChartData.lerp (package:charts_painter/chart/mode<…>

However, the error doesn't occur when using the non-animated Chart or when the animation duration is set to or under 30 milliseconds.

Steps to Reproduce:

  1. Use the Animated Chart
  2. Set the animation duration to 300 milliseconds.
  3. Observe the error.

Expected Behavior:

The chart should animate without errors.

Actual Behavior:

An error is thrown when the animation duration is 300 milliseconds.

Workaround:

Use the Chart without animation. Set the animation duration to 30 milliseconds.

Environment:

Flutter version: 3.13.2 charts_painter version: 3.1.1 OS: macOS with an iOS Simulator iPhone 14 Pro Max

floodoo avatar Sep 20 '23 10:09 floodoo

@floodoo Can you provide a code snippet where you get this issue? I tried with charts from example but couldn't reproduce this issue

lukaknezic avatar Oct 13 '23 11:10 lukaknezic

No sry, I can't provide any code due to company confidentiality.

floodoo avatar Oct 17 '23 19:10 floodoo

Hi @floodoo. Sorry for late reply but can you maybe make a snippet that won't actually use any confidential data? I just need minimal reproducable code where this happens. I tried saving custom model to charts items and having animations over and under 30 ms but I could not reproduce this issue

lukaknezic avatar Nov 03 '23 12:11 lukaknezic