You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中BarChart报错:bottomTitles和leftTitles参数未定义

问题解决方案

你的错误源于**fl_chart新版本的FlTitlesData结构使用不当**,具体问题:

  • 错误将底部标题的SideTitles嵌套到leftTitles的AxisTitles中,而AxisTitles并没有bottomTitles参数
  • 重复定义leftTitles参数,导致语法结构混乱

修正后的代码如下:

Widget build(BuildContext context) {
  return Container(
    height: 300,
    padding: EdgeInsets.only(top: 16, right: 16, left: 16),
    child: BarChart(
      BarChartData(
        maxY: 20,
        titlesData: FlTitlesData(
          show: true,
          // 底部标题:正确关联bottomTitles,用AxisTitles包裹SideTitles
          bottomTitles: AxisTitles(
            sideTitles: SideTitles(
              showTitles: true,
              margin: 20,
              getTitles: (double value) {
                switch (value.toInt()) {
                  case 0:
                    return 'Mn';
                  case 1:
                    return 'Te';
                  case 2:
                    return 'Wd';
                  case 3:
                    return 'Tu';
                  case 4:
                    return 'Fr';
                  case 5:
                    return 'St';
                  case 6:
                    return 'Sn';
                  default:
                    return '';
                }
              },
            ),
          ),
          // 左侧标题:正确用AxisTitles包裹SideTitles
          leftTitles: AxisTitles(
            sideTitles: SideTitles(
              showTitles: true,
              margin: 16,
              reservedSize: 14,
              getTitles: (value) {
                if (value == 0) {
                  return '100k';
                } else if (value == 10) {
                  return '20k';
                } else if (value == 19) {
                  return '25k';
                } else if (value == 5) {
                  return '14k';
                } else {
                  return '';
                }
              },
            ),
          ),
        ),
        borderData: FlBorderData(
          show: false,
        ),
        barGroups: showingBarGroups,
      ),
    ).center(),
  ).paddingAll(16).center();
}

关键修正说明:

  • 在FlTitlesData下直接声明bottomTitles和leftTitles参数,每个参数值为AxisTitles类型
  • AxisTitles内部通过sideTitles参数传入SideTitles配置,而非直接写bottomTitles或leftTitles
  • 移除重复的leftTitles定义,保证结构合法清晰

内容的提问来源于stack exchange,提问作者user23335140

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 02:00:29