我正在尝试向我的 blazor 服务器端项目添加折线图,日期在 x 轴上。
如果我将日期转换为字符串,一切都很好,但我需要 datetime 因为间隔不是恒定的,我想在数据点之间使用自动间隔。
如果我使用它自己的日期,如下所示,所有日期都位于 x 轴的第一个刻度上,全部排列在一个整齐的列中。
LineChart<double> lineChart;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await HandleRedraw();
}
}
async Task HandleRedraw()
{
await lineChart.Clear();
await lineChart.AddLabels(GetDateTimeLabels());
await lineChart.AddDataSet(GetLineChartDataset());
await lineChart.Update();
}
LineChartDataset<double> GetLineChartDataset()
{
return new LineChartDataset<double>
{
//usual stuff to build the data set
};
}
public DateTime[] GetDateTimeLabels()
{
//fill array with dates
return dateLabels;
}
我尝试在组件中添加一个 OptionJsonString 以指示 x 轴的类型是时间,如下所示:
<LineChart @ref="lineChart" TItem="double" OptionsJsonString="@("{\"scales\": {\"xAxes\": [{\"type\": 'time'}]}}")"/>
但是图表根本没有呈现。OptionJsonString 可以很好地设置轴的最小值或最大值。
有人可以给我一些指示吗?