我正在使用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();
这是显示明显问题的图表。
如果我无法滚动它,另一个选项就是删除x轴标签。这是我的第二选择,但我也无法弄清楚如何做到这一点。 感谢
答案 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;
}