Microsoft在WPF中绘制可滚动的LineSeries

时间:2013-01-31 20:44:54

标签: c# wpf wpftoolkit microsoft-chart-controls

我正在使用System.Windows.Controls.DataVisualization.Charting 在WPF中创建折线图 它正在显示数据正常工作。但是取决于所访问的数据 它变得非常凌乱和吝啬。 无论如何,如果数据太宽,图表是否可以向右滚动?

这是我的图表的xaml

            <DVC:Chart Canvas.Top="80" Grid.Column="1" Grid.Row="0" Canvas.Left="10" Name="mcChart" Background="LightSteelBlue" Height="676">

                <DVC:Chart.Series>
                    <DVC:LineSeries Title="File Count" IndependentValueBinding="{Binding Path=Key}"
                          DependentValueBinding="{Binding Path=Value}"  >

                    </DVC:LineSeries>

                </DVC:Chart.Series>

            </DVC:Chart>

从CS代码我只是将图表的数据设置为KeyValuePair的列表

  ((LineSeries)mcChart.Series[0]).ItemsSource = data.ToArray(); 

这是显示明显问题的图表。

linegraph

如果我无法滚动它,另一个选项就是删除x轴标签。这是我的第二选择,但我也无法弄清楚如何做到这一点。 感谢

1 个答案:

答案 0 :(得分:1)

Remove the x axis labels 

可以使用轴的 AxisLabelStyle 来执行此操作。

    void DrawLineChart()
    {
      var line1 = new LineSeries();
      line1.IndependentAxis = new LinearAxis(){Orientation = AxisOrientation.X,AxisLabelStyle = GetHidenAxisStyle()};
    }


    private Style GetHidenAxisStyle()
    {
        Style style = new Style(typeof(AxisLabel));
        Setter st2 = new Setter(AxisLabel.BorderBrushProperty,
                                    new SolidColorBrush(Colors.White));
        Setter st3 = new Setter(AxisLabel.BorderThicknessProperty, new Thickness(0));
        Setter st4 = new Setter(AxisLabel.TemplateProperty, null);
        style.Setters.Add(st2);
        style.Setters.Add(st3);
        style.Setters.Add(st4);
        return style;
    }