在我的图表中,我想在 Y 轴之前将文本显示为 y 轴中心的垂直标题,如“% Volume”,而在中心的 X 轴下方则希望将标签显示为“Sales”。如何分别在 X 和 Y 轴上添加这些标签?我的 XML 代码是:
Grid>
<DVC:Chart Name="bsiPlaceChart" Title="SI Placement" LegendTitle="Legend" Width="850" Height="450">
<DVC:Chart.Series>
<DVC:ColumnSeries Name="layer1Chart" Title="Title 1" ItemsSource="{Binding}" IndependentValuePath="Name"
DependentValuePath="Volume"></DVC:ColumnSeries>
<DVC:ColumnSeries Name="layer2Chart" Title="Title 2" ItemsSource="{Binding}" IndependentValuePath="Name"
DependentValuePath="Volume" ></DVC:ColumnSeries>
<DVC:ColumnSeries Name="layer3Chart" Title="Title 3" ItemsSource="{Binding}" IndependentValuePath="Name"
DependentValuePath="Volume" ></DVC:ColumnSeries>
</DVC:Chart.Series>
</DVC:Chart>
<TextBlock HorizontalAlignment="Center" Text="Layers" FontSize="12" FontWeight="Bold" Margin="343,440,472,0" />
</Grid>
对于 X 轴,我尝试在图表下方添加一个文本块,但是当窗口大小发生变化时,文本也会上下移动。我希望它保持在图表下方 - 就好像它是图表的一部分。
如何分别为 X 和 Y 轴设置此类标题。
更新:Paul 提供的解决方案: 我在资源中分别添加了 X 和 Y 轴:
<Grid.Resources>
<DVC:LinearAxis Orientation="Y" Title="% Volume" HorizontalAlignment="Left" x:Key="YAxis" />
<DVC:LinearAxis Orientation="X" Title="Layers" HorizontalAlignment="Center" x:Key="XAxis" />
</Grid.Resources>
并且在每个列系列中修改如下:
<DVC:ColumnSeries Name="layer1Chart" Title="Viscosity 1" ItemsSource="{Binding}" IndependentValuePath="Name" DependentValuePath="Volume" DependentRangeAxis="{StaticResource YAxis}">
</DVC:ColumnSeries>
这管理了 Y 轴点。如何将 XAxis 也添加到它?
解决方案:删除资源并在图表中添加 Chart.Axes,如下所示。这会在 Y 轴左侧添加“% Volume”标签,在 X 轴底部添加“Layers”标签。完美的。
<!-- Add Title on Y axis and X Axis -->
<DVC:Chart.Axes>
<DVC:LinearAxis Orientation="Y" Title="% Volume" HorizontalAlignment="Left" />
<DVC:CategoryAxis Orientation="X" Title="Layers" Location="Bottom" />
</DVC:Chart.Axes>
谢谢保罗。