class _MyHomePageState extends State<MyHomePage>
{
late
List<ChartSampleData> _data;
late
ZoomPanBehavior _zoomPanBehavior;
@override
void
initState() {
_data = [
ChartSampleData(
x:
DateTime(2000, 01, 01, 05),
high: 20,
low: 50,
open: 35,
close:
45,
),
// ... (the
rest of the data entries)
ChartSampleData(
x:
DateTime(2000, 01, 02, 24),
high: 120,
low: 90,
open:
100,
close:
110,
),
];
_zoomPanBehavior = ZoomPanBehavior(
enablePanning: true,
enableMouseWheelZooming: true,
zoomMode:
ZoomMode.x,
);
super.initState();
}
@override
Widget
build(BuildContext context) {
return
Scaffold(
body:
SfCartesianChart(
primaryXAxis: DateTimeAxis(
intervalType: DateTimeIntervalType.hours,
),
primaryYAxis: NumericAxis(
anchorRangeToVisiblePoints:
false,
),
series:
<CartesianSeries<ChartSampleData, DateTime>>[
CandleSeries(
dataSource: _data,
enableSolidCandles: true,
xValueMapper: (ChartSampleData sales, int index) => sales.x,
highValueMapper: (ChartSampleData sales, int index) => sales.high,
lowValueMapper: (ChartSampleData sales, int index) => sales.low,
openValueMapper: (ChartSampleData sales, int index) => sales.open,
closeValueMapper: (ChartSampleData sales, int index) =>
sales.close,
),
],
zoomPanBehavior: _zoomPanBehavior,
),
);
}
}
|