当前位置: 首页 > 知识库问答 >
问题:

使用颤振图添加自定义primaryMeasureAxis

刘琨
2023-03-14

我正在尝试用Y轴(垂直轴)做TimeSeriesChart,它有自定义标签。

我可以验证字符串('最终列表

请参阅这段代码。在初始化“最终标签”的地方,我有两行代码定义基本数字格式规范(BasicNumericTickFormatterSpec)。

第一行是我想做的。我想使用值在字符串[]中查找字符串。

我可以做((num value)=

所以,基本上我可以验证string实际上保存了我期望的值,并且我可以访问这些值,但是如果我尝试查找一个值,((num value)=

Widget _buildChart(BuildContext context, DocumentSnapshot data) {
    final List<dynamic> string = data.data['options'];

    final labels =
    charts.BasicNumericTickFormatterSpec((num value) =>  'MyValue: ${string[value.toInt()]}');
    // charts.BasicNumericTickFormatterSpec((num value) =>  'MyValue: ${string[0]}')

    var chart = charts.TimeSeriesChart(seriesList,
        // Sets up a currency formatter for the measure axis.
        primaryMeasureAxis: new charts.NumericAxisSpec(tickFormatterSpec: labels),
        animate: animate,
        // Optionally pass in a [DateTimeFactory] used by the chart. The factory
        // should create the same type of [DateTime] as the data provided. If none
        // specified, the default creates local date time.
        dateTimeFactory: const charts.LocalDateTimeFactory());

    return new Padding(
        padding: new EdgeInsets.all(10.0),
        child: new SizedBox(
          height: 200.0,
          child: chart,
        ));
  }

我期望输入的每个“值”((num value))=

相反,我得到了:

颤振:在performLayout()期间引发了以下RangeError:颤振:RangeError(索引):无效值:不在范围0内。。1,含:2


共有1个答案

谢奕
2023-03-14

尝试扩展tick formatter闭包,以便获得更多诊断:

final labels = charts.BasicNumericTickFormatterSpec((num value) {
  var index = value.floor();
  print('--- tick for $value in $string with $index ---');
  return (index < string.length)
      ? 'MyValue: ${string[index]}'
      : 'overflow ${string.length} $index';
});
 类似资料:
  • 我已经用Firebase实现了通知,通知工作正常。但我需要播放一个自定义声音来通知。我已经实施了 playSound:true,声音:const RawResourceAndroidNotificationSound('通知'), 并在android\app\src\main\res\raw文件夹中添加了声音,该文件夹名为“通知”。mp3’。但通知系统上没有声音。 还实现了有效负载中的代码。 主功

  • 试图在flutter中加载图像,但无法做到这一点,得到以下错误 I/Flutter(3214):IMAGE RESOURCE SERVICE捕获的异常(3214):引发以下断言解析图像编解码器:I/Flutter(3214):无法加载资产:资产/test.jpg I/Flutter(3214):I/Flutter(3214):引发异常时,这是堆栈:I/Flutter(3214):#0 Platfo

  • 我做了卡片,并设法用材料的颜色随意地给它们上色, 问题是,当我尝试使用十六进制颜色时,flutter给出了一个错误“颜色不是一个函数” 。下面的代码如果不在类中,也可以工作,但它只返回1个随机颜色。 完整的代码可以在这里找到https://gist.github.com/nevruzoglu/3db05f01706e5b2b4e75e24cded4a5b0

  • 我的代码是 这是我创建文本表单的方式

  • 虽然Blockly定义了许多标准块,但大多数应用程序需要定义和实现至少一些域相关块。 块由三个部分组成: 块定义对象:定义块的外观和行为,包括文本,颜色,字段和连接。 工具箱参考:工具箱XML中对块类型的引用,因此用户可以将其添加到工作区。 生成器函数:生成此块的代码字符串。它是用JavaScript编写的,即使目标语言不是JavaScript,甚至是用于Android端的Blockly。 块定义

  • 我对flutter非常陌生,我正在做一个有趣的应用程序。我想添加一个背景图像到我的应用程序,但我找不到如何。我知道我必须把它放在中,但我找不到怎么放。这是我的代码: