This repository has been archived by the owner on Jan 9, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
TimeSeriesChart : PanAndZoomBehavior causing error #73
Comments
Does commenting out |
for me it does NOT @jerherrero any idea ? |
@oetiker It's been a while since I've dug in there, but as I remember, each axis type had its own class except for the one used for a Time Series, which is an extension of another axis class. |
@jerherrero I found the solution here: #287 (comment) |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Moved from flutter/flutter#19301
While attempting to figure out how to implement pan-and-zoom on a time series graph, I received the following error:
Performing hot reload...
I/flutter ( 7381): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter ( 7381): The following assertion was thrown during performLayout():
I/flutter ( 7381): type 'int' is not a subtype of type 'double'
I/flutter ( 7381):
I/flutter ( 7381): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter ( 7381): more information in this error message to help you determine and fix the underlying cause.
I/flutter ( 7381): In either case, please report this assertion by filing a bug on GitHub:
I/flutter ( 7381): https://github.com/flutter/flutter/issues/new
I/flutter ( 7381):
I/flutter ( 7381): When the exception was thrown, this was the stack:
I/flutter ( 7381): #0 LinearScaleViewportSettings.updateViewportScaleFactor (package:charts_common/src/chart/cartesian/axis/linear/linear_scale_viewport.dart)
I/flutter ( 7381): #1 LinearScale._configureScale (package:charts_common/src/chart/cartesian/axis/linear/linear_scale.dart:219:23)
I/flutter ( 7381): #2 LinearScale.viewportDomain (package:charts_common/src/chart/cartesian/axis/linear/linear_scale.dart:145:5)
I/flutter ( 7381): #3 DateTimeScale.viewportDomain (package:charts_common/src/chart/cartesian/axis/time/date_time_scale.dart:84:34)
I/flutter ( 7381): #4 AutoAdjustingDateTimeTickProvider.getTicks (package:charts_common/src/chart/cartesian/axis/time/auto_adjusting_date_time_tick_provider.dart:117:28)
I/flutter ( 7381): #5 PanningTickProvider.getTicks (package:charts_common/src/chart/common/behavior/zoom/panning_tick_provider.dart:74:29)
I/flutter ( 7381): #6 Axis._updateProvidedTicks (package:charts_common/src/chart/cartesian/axis/axis.dart:196:35)
I/flutter ( 7381): #7 Axis._measureHorizontalAxis (package:charts_common/src/chart/cartesian/axis/axis.dart:360:5)
I/flutter ( 7381): #8 Axis.measure (package:charts_common/src/chart/cartesian/axis/axis.dart:347:11)
I/flutter ( 7381): #9 HorizontalMarginStrategy.measure. (package:charts_common/src/chart/layout/layout_margin_strategy.dart:198:21)
I/flutter ( 7381): #10 Iterable.forEach (dart:core/iterable.dart:281:30)
I/flutter ( 7381): #11 HorizontalMarginStrategy.measure (package:charts_common/src/chart/layout/layout_margin_strategy.dart:180:11)
I/flutter ( 7381): #12 LayoutManagerImpl._measure (package:charts_common/src/chart/layout/layout_manager_impl.dart:237:56)
I/flutter ( 7381): #13 LayoutManagerImpl.measure (package:charts_common/src/chart/layout/layout_manager_impl.dart:100:24)
I/flutter ( 7381): #14 BaseChart.measure (package:charts_common/src/chart/common/base_chart.dart:252:22)
I/flutter ( 7381): #15 ChartContainerRenderObject.performLayout (package:charts_flutter/src/chart_container.dart:129:12)
I/flutter ( 7381): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #17 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #19 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #20 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #21 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11)
I/flutter ( 7381): #22 WidgetLayoutDelegate.performLayout (package:charts_flutter/src/widget_layout_delegate.dart:80:7)
I/flutter ( 7381): #23 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7)
I/flutter ( 7381): #24 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14)
I/flutter ( 7381): #25 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #26 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11)
I/flutter ( 7381): #27 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:399:7)
I/flutter ( 7381): #28 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7)
I/flutter ( 7381): #29 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14)
I/flutter ( 7381): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #31 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #32 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #33 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #34 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1143:11)
I/flutter ( 7381): #35 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #36 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #37 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #38 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #39 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #40 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #41 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #42 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #43 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #44 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #45 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #46 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #47 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #48 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #49 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #50 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #51 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2831:13)
I/flutter ( 7381): #52 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #53 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:520:15)
I/flutter ( 7381): #54 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #55 __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #56 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #57 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #58 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #59 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #60 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #61 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #62 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #63 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #64 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #65 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 7381): #66 RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter ( 7381): #67 RenderView.performLayout (package:flutter/src/rendering/view.dart:125:13)
I/flutter ( 7381): #68 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445:7)
I/flutter ( 7381): #69 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:709:18)
I/flutter ( 7381): #70 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
I/flutter ( 7381): #71 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13)
I/flutter ( 7381): #72 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter ( 7381): #73 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter ( 7381): #74 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter ( 7381): #75 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame. (package:flutter/src/scheduler/binding.dart:751:7)
I/flutter ( 7381): #77 _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
I/flutter ( 7381): #78 _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
I/flutter ( 7381): #79 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
I/flutter ( 7381): (elided one frame from package dart:async)
I/flutter ( 7381):
I/flutter ( 7381): The following RenderObject was being processed when the exception was fired:
I/flutter ( 7381): ChartContainerRenderObject#1c86c NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 7381): creator: ChartContainer ← Listener ← _GestureSemantics ← RawGestureDetector ←
I/flutter ( 7381): GestureDetector ← LayoutId-[] ← CustomMultiChildLayout ← TimeSeriesChart ←
I/flutter ( 7381): SimpleTimeSeriesChart ← MediaQuery ← LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← ⋯
I/flutter ( 7381): parentData: (can use size)
I/flutter ( 7381): constraints: BoxConstraints(w=411.4, h=603.4)
I/flutter ( 7381): semantic boundary
I/flutter ( 7381): size: Size(411.4, 603.4)
I/flutter ( 7381): This RenderObject has no descendants.
I/flutter ( 7381): ════════════════════════════════════════════════════════════════════════════════════════════════════
Reloaded 2 of 608 libraries in 1,518ms.
/// Timeseries chart example
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:flutter/material.dart';
class SimpleTimeSeriesChart extends StatelessWidget {
final List<charts.Series> seriesList;
final bool animate;
//SimpleTimeSeriesChart(this.seriesList, {this.animate});
SimpleTimeSeriesChart(this.seriesList, {this.animate});
/// Creates a [TimeSeriesChart] with sample data and no transition.
factory SimpleTimeSeriesChart.withSampleData() {
return new SimpleTimeSeriesChart(
_createSampleData(),
// Disable animations for image tests.
animate: true,
);
}
@OverRide
Widget build(BuildContext context) {
// *** LINE CAUSING THE ERROR BELOW ***
behaviors: [new charts.PanAndZoomBehavior()],
);
}
/// Create one series with sample hard coded data.
static List<charts.Series<XYValue, DateTime>> _createSampleData() {
final data = [
new XYValue(new DateTime(2017, 9, 19), 5),
new XYValue(new DateTime(2017, 9, 26), 25),
new XYValue(new DateTime(2017, 9, 28), 26),
new XYValue(new DateTime(2017, 10, 3), 100),
new XYValue(new DateTime(2017, 10, 10), 75),
];
}
}
/// Sample time series data type.
class XYValue {
final DateTime time;
final int value;
XYValue(this.time, this.value);
}
The text was updated successfully, but these errors were encountered: