我有一个包含ColumnSeries的图表,我试图让X轴上的标签显示在这样的刻度线附近:
默认情况下,ColumnSeries使用CategoryAxis轴,它将标签置于间隔的中间位置:
我想要的是X轴的工作方式类似于LinearAxis。但是我没有看到任何使ColumnSeries使用LinearAxis的方法。
另外,我认为如何将标签放置在刻度线附近。我可以去修改CategoryAxis的源代码,但这对我来说并不容易。
我的另一个想法是使用LinearAxis,但似乎不适用于ColumnSeries。
非常感谢任何想法。
谢谢!
编辑:2011年,2012年只是例子,它们不是日期。我实际上要做的是在X轴上显示间隔。 2011年应该从起源开始。我会更新图片。答案 0 :(得分:2)
ColumnSeries
与LinearAxis
一起正常运行。以下是从Delay的DataVisualizationDemos示例中修改的示例:
XAML:
<chartingToolkit:Chart Title="Stock Performance">
<!-- Stock price and volume -->
<chartingToolkit:ColumnSeries
Title="ABCD"
ItemsSource="{StaticResource SalesDataCollection}"
IndependentValueBinding="{Binding EastStoreQuantity}"
DependentValueBinding="{Binding WestStoreQuantity}"
/>
<chartingToolkit:Chart.Axes>
<!-- Axis for custom labels -->
<chartingToolkit:LinearAxis
Minimum="0"
Maximum="10"
Interval="1"
Orientation="X">
</chartingToolkit:LinearAxis>
</chartingToolkit:Chart.Axes>
</chartingToolkit:Chart>
代码隐藏:
public class SalesDataCollection : Collection<SalesData>
{
public SalesDataCollection()
{
Add(new SalesData { Animal = "Dogs", WestStoreQuantity = 5, EastStoreQuantity = 7 });
Add(new SalesData { Animal = "Cats", WestStoreQuantity = 5, EastStoreQuantity = 6 });
Add(new SalesData { Animal = "Birds", WestStoreQuantity = 3, EastStoreQuantity = 8 });
Add(new SalesData { Animal = "Fish", WestStoreQuantity = 6, EastStoreQuantity = 9 });
}
}