1

我正在使用 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,
        )
    ];

生成此图表:

示例图表

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

4

1 回答 1

1

如果您domainFn正在使用对象构建,则可以在使用包中的和类DateTime构建图表时指定所需的轴格式。从 chart_flutter 包示例中查看此示例。在这里,他们正在做与您想要的非常相似的事情,即将 Y 轴上的某个值表示为X 轴上某些对象的函数。如您所见,在构建图表时,他们使用,并将参数设置为DateTimeAxisSpecTimeFormatterSpeccharts_flutterDateTimeTimeSeriesChartdomainAxis

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

format在您的情况下,您可以只在构造函数中指定 a TimeFormatterSpec,并设置其属性,以便显示年份而不是日期。

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

于 2019-11-02T15:06:05.610 回答