WPF工具包数据可视化.指定X轴间隔

本文关键字:指定 工具包 数据 可视化 WPF | 更新日期: 2023-09-27 18:29:35

Im使用WPFToolkit提供的System.Windows.Controls.DataVisualization.Toolkit.dll。

我有一张图表,在X轴上显示日期列表,在Y轴上显示整数。

XAML:

<DVC:Chart Canvas.Top="80" Canvas.Left="10" Name="mcChart" Background="LightSteelBlue" Margin="12">          
    <DVC:Chart.Series>
        <DVC:LineSeries Title="Lines" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}" />
    </DVC:Chart.Series>
</DVC:Chart>

代码:

ObservableCollection<KeyValuePair<DateTime, int>> Data = new ObservableCollection<KeyValuePair<DateTime, int>>();
Data.Add(new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(-10), 100));
Data.Add(new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(-9), 200));
Data.Add(new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(-8), 500));
((LineSeries)mcChart.Series[0]).ItemsSource = Data;

我正在将mcChart的ItemsSource绑定到ObservableCollection<int, DateTime>

当我的图表包含足够的数据时,它会将X轴上的每个点显示为日期。即2016-01-06、2016-01-07、2016-01-08等

然而,如果我在图表上只显示了几个点,那么间隔就会分成几个小时。即20:00、00:00、04:00、08:00、12:00、16:00、20:00

我如何才能强制它只在X.上显示日期间隔

WPF工具包数据可视化.指定X轴间隔

我想明白了。我需要在LineSeries中为IndependantAxis指定Interval和IntervalType。

<DVC:Chart Canvas.Top="80" Canvas.Left="10" Name="mcChart" Background="LightSteelBlue" Margin="12">          
    <DVC:Chart.Series>
        <DVC:LineSeries Title="Lines" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}">
            <DVC:LineSeries.IndependentAxis>
                <DVC:DateTimeAxis Orientation="X" Title="Date" Interval="1" IntervalType="Days" />
            </DVC:LineSeries.IndependentAxis>                 
        </DVC:LineSeries>
    </DVC:Chart.Series>
</DVC:Chart>