Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Charts 格式化图表中的时间标签\u颤振时间序列图表_Charts_Dart_Flutter - Fatal编程技术网

Charts 格式化图表中的时间标签\u颤振时间序列图表

Charts 格式化图表中的时间标签\u颤振时间序列图表,charts,dart,flutter,Charts,Dart,Flutter,我在我的颤振应用程序中实现了一个时间序列图,该图显示了一段时间内的能量数据: final List<charts.Series<TimeSeriesEnergy, DateTime>> seriesList = [ new charts.Series<TimeSeriesEnergy, DateTime>( id: 'Energy', colorFn: (_, __) => charts.MaterialPale

我在我的颤振应用程序中实现了一个时间序列图,该图显示了一段时间内的能量数据:

final List<charts.Series<TimeSeriesEnergy, DateTime>> seriesList = [
     new charts.Series<TimeSeriesEnergy, DateTime>(
        id: 'Energy',
        colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
        domainFn: (TimeSeriesEnergy p, _) => p.time,
        measureFn: (TimeSeriesEnergy p, _) => p.energy,
        data: data,
     )
];

final bool animate = true;

var chart = new charts.TimeSeriesChart<TimeSeriesEnergy>(
      seriesList,
      animate: animate,
);
最终列表系列列表=[
新图表系列(
id:'能源',
颜色fn:(u,uu)=>charts.materialpalete.blue.shadedfault,
域fn:(TimeSeriesEnergy p,)=>p.time,
measureFn:(TimeSeriesEnergy p,)=>p.能量,
数据:数据,
)
];
最终布尔动画=真;
var chart=新图表。TimeSeriesChart(
系列列表,
动画制作:动画制作,
);

我现在想更改xAxis上标签的格式,以便它们以小时和分钟为单位显示时间,而不是默认的本地日期时间格式。Flatter图库中的图表建议实现一个
DateTimeFactory
,但我不知道如何实现。欢迎提供任何建议:)

为您的时间(域)轴添加
DateTimeAxisSpec

var chart=new charts.TimeSeriesChart(
系列列表,
domainAxis:新图表。DateTimeAxisSpec(
tickFormatterSpec:新图表。AutoDateTimeTickFormatterSpec(
日期:新图表。TimeFormatterSpec(
格式:'dd',
转换格式:“dd MMM”,
),
),
),
动画制作:动画制作,
);
在本例中,我将图表上的标签从美国默认的“6月25日”、“27日”、“29日”和“7月1日”分别更改为“6月25日”、“27日”、“29日”和“7月1日”

您也可以通过为每种格式添加额外的
tickFormatterSpec
来更改年、日和小时等格式


大值换行时使用
transitionFormat
,否则使用
format
。在我的示例中,transitionFormat用于设置第一个勾号的格式(以便您可以看到月份),但不是第27个或第29个,因为它们是同一个月。transitionFormat再次用于7月1日,因为月份已更改。

如果只有一个数据,为什么会显示12:00?@stack_ved请参阅@stack_ved是,请参阅Richard提供的链接
var chart = new charts.TimeSeriesChart<TimeSeriesEnergy>(
  seriesList,
  domainAxis: new charts.DateTimeAxisSpec(
    tickFormatterSpec: new charts.AutoDateTimeTickFormatterSpec(
      day: new charts.TimeFormatterSpec(
        format: 'dd',
        transitionFormat: 'dd MMM',
      ),
    ),
  ),
  animate: animate,
);