使用 syncfusion 图表,图表未显示在屏幕上
Using syncfusion charts, the chart is not displaying in the screen
创建了一个简单的条形图,但它不会显示在页面上。
这是我的代码
import 'package:flutter/material.dart';
import 'bar_chart_sample1.dart';
class BarChartPage extends StatelessWidget {
const BarChartPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
color: Color.fromARGB(255, 166, 166, 166),
child: ListView(
children: <Widget>[
Padding(
padding: EdgeInsets.only(
left: 28,
right: 28,
),
child: BarChartWidget(),
),
SizedBox(height: 22),
],
),
);
}
}
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';
class BarChartWidget extends StatefulWidget {
const BarChartWidget({Key? key}) : super(key: key);
@override
State<BarChartWidget> createState() => _BarChartWidgetState();
}
class _BarChartWidgetState extends State<BarChartWidget> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Container(
child:
SfCartesianChart(primaryXAxis: CategoryAxis(), series: <ChartSeries>[
// Initialize line series
LineSeries<ChartData, String>(
dataSource: [
// Bind data source
ChartData('Jan', 35),
ChartData('Feb', 28),
ChartData('Mar', 34),
ChartData('Apr', 32),
ChartData('May', 40)
],
xValueMapper: (ChartData data, _) => data.x,
yValueMapper: (ChartData data, _) => data.y)
]),
)));
}
}
class ChartData {
ChartData(this.x, this.y);
final String x;
final double? y;
}
它应该是这样的
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
我做错了什么?
您已将脚手架小部件包装在 ListView 中,这就是出现此异常的原因。 Scaffold 小部件始终必须是父小部件,或者如果它与任何其他小部件一起包装,我们必须需要指定父小部件的大小。因此,我们建议您避免将 Scaffold 小部件包装在 ListView 中。
创建了一个简单的条形图,但它不会显示在页面上。
这是我的代码
import 'package:flutter/material.dart';
import 'bar_chart_sample1.dart';
class BarChartPage extends StatelessWidget {
const BarChartPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
color: Color.fromARGB(255, 166, 166, 166),
child: ListView(
children: <Widget>[
Padding(
padding: EdgeInsets.only(
left: 28,
right: 28,
),
child: BarChartWidget(),
),
SizedBox(height: 22),
],
),
);
}
}
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';
class BarChartWidget extends StatefulWidget {
const BarChartWidget({Key? key}) : super(key: key);
@override
State<BarChartWidget> createState() => _BarChartWidgetState();
}
class _BarChartWidgetState extends State<BarChartWidget> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Container(
child:
SfCartesianChart(primaryXAxis: CategoryAxis(), series: <ChartSeries>[
// Initialize line series
LineSeries<ChartData, String>(
dataSource: [
// Bind data source
ChartData('Jan', 35),
ChartData('Feb', 28),
ChartData('Mar', 34),
ChartData('Apr', 32),
ChartData('May', 40)
],
xValueMapper: (ChartData data, _) => data.x,
yValueMapper: (ChartData data, _) => data.y)
]),
)));
}
}
class ChartData {
ChartData(this.x, this.y);
final String x;
final double? y;
}
它应该是这样的
我做错了什么?
我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么? 我做错了什么?
您已将脚手架小部件包装在 ListView 中,这就是出现此异常的原因。 Scaffold 小部件始终必须是父小部件,或者如果它与任何其他小部件一起包装,我们必须需要指定父小部件的大小。因此,我们建议您避免将 Scaffold 小部件包装在 ListView 中。