我正在使用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?
答案 0 :(得分:0)
如果domainFn
是使用DateTime
对象构建的,则可以使用DateTimeAxisSpec
和TimeFormatterSpec
类中的{ 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的图表中使用的各种自定义选项。它们将来可能对您有用。