chart_flutter:仅显示水平刻度中的年份

时间:2019-11-02 07:51:38

标签: flutter charts

我正在使用Charts_flutter在Flutter中生成折线图。给出以下代码:

Widget _chart(ctx) => TimeSeriesChart(_data(), domainAxis: ???);

List<Series<Point, DateTime>> _data() =>
    [
        Series<Point, DateTime>(
            id: 'Data',
            colorFn: (_, __) => MaterialPalette.blue.shadeDefault,
            data: store.data,
            domainFn: (Point p, _) => p.timestamp,
            measureFn: (Point p, _) => p.amount,
        )
    ];

产生此图表:

Sample chart

如何使水平刻度线仅显示YEAR?

1 个答案:

答案 0 :(得分:0)

如果domainFn是使用DateTime对象构建的,则可以使用DateTimeAxisSpecTimeFormatterSpec类中的{ charts_flutter软件包。签出this example from the charts_flutter package samples。在这里,他们所做的事情与您想要的非常相似,即,将Y轴上的某些值表示为X轴上某些DateTime对象的函数。如您所见,在构建图表时,他们使用TimeSeriesChart,并将domainAxis参数设置为

domainAxis: new charts.DateTimeAxisSpec(
        tickFormatterSpec: new charts.AutoDateTimeTickFormatterSpec(
            day: new charts.TimeFormatterSpec(
                format: 'd', transitionFormat: 'MM/dd/yyyy')))

在您的情况下,您只需在format构造函数中指定一个TimeFormatterSpec,然后设置其属性即可显示年份而不是日期。

我不知道您是否知道,但是Charts_flutter包中的开发人员有很多非常有用的示例,这些示例突出了您可以在其sample gallery的图表中使用的各种自定义选项。它们将来可能对您有用。