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

Fl_chart Flutter报错:SideTitles无法赋值给AxisTitles参数

解决Fl_chart中AxisTitles与SideTitles的类型不匹配问题

这个问题源于Fl_chart版本更新后轴标题API结构的变更:bottomTitles的参数类型从SideTitles调整为AxisTitles,但AxisTitles本身并不包含showTitles、rotateAngle这类参数——这些参数属于SideTitles,需要通过AxisTitles的sideTitles属性传入。

修改后的正确代码如下:

bottomTitles: AxisTitles(
  sideTitles: SideTitles(
    showTitles: true,
    rotateAngle: MediaQuery.of(context).size.width > 400 ? -45 : -90,
    reservedSize: MediaQuery.of(context).size.width > 500
        ? MediaQuery.of(context).size.height * 0.03
        : MediaQuery.of(context).size.height * 0.08,
    getTitles: (value) {
      final hour = value.toInt();

      final formattedHour = (hour % 12 == 0) ? '12' : (hour % 12).toString();
      final period = (hour < 12) ? 'AM' : 'PM';

      if (formattedHour + period == previousHour) {
        return '';
      }
      previousHour = formattedHour + period;

      return '$formattedHour $period';
    },
  ),
),

关键说明

  • AxisTitles作为外层容器负责轴标题的整体结构配置,它的sideTitles属性专门用来承载SideTitles实例,后者负责具体的标题显示开关、旋转角度、预留尺寸和文本生成逻辑。
  • 你之前直接将SideTitles替换为AxisTitles,相当于把SideTitles的参数直接传递给了AxisTitles,而AxisTitles并不支持这些参数,因此触发报错。通过嵌套结构,就能完全复用你原来的SideTitles配置逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:31:07