我在WPF中使用LiveCharts创建了一个CartesianChart,它显示了一个名为NIOquoteTrend的列表中的值。该列表由数据库中的值填充,每个值在数据库中都有一个特定的对应时间戳。
我以1小时为间隔显示了这些值,并且我有一个DateTimePicker来指定显示值之间的时间戳。还有一个按钮,然后调用函数UpdateQuoteTrend()。这些值在图表中正确显示,但我不知道如何在x轴上显示与特定值对应的DateTime。
由于序列值以正确的顺序正确显示,我认为解决方案是将所选值之间的日期和时间显示为X轴中的标签,间隔为1小时。如果有人知道我该怎么做,我将非常感谢你的帮助。下面是我的cs代码:
void UpdateQuoteTrend()
{
if (trendChart.Series.Count > 0)
trendChart.Series.Clear();
trendChart.Series.Add(new LineSeries
{
Title = "Fehlerquote",
Values = NIOquoteTrend.AsChartValues(),
Stroke = Brushes.Red,
PointGeometry = DefaultGeometries.Circle,
PointGeometrySize = 15
});
}
这是我的XAML代码:
<Wpf:CartesianChart x:Name="trendChart" Margin="0,40,0,0" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" LegendLocation="Right" FontSize="20" Zoom="Xy" ScrollMode="XY" >
<Wpf:CartesianChart.AxisX>
<Wpf:Axis x:Name="xAxisTrendChart" Title="Datum" FontSize="20" />
</Wpf:CartesianChart.AxisX>
</Wpf:CartesianChart>
这就是图的样子:图形
没关系,我解决了这个问题。我刚刚创建了一个新的SQL查询/存储过程,类似于我从数据库中获取值的过程,只是我获取的时间戳不是字符串形式的值。然后,我将时间戳保存在一个列表中,用作x轴中的标签。