0

在我的图表中,我想在 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>

谢谢保罗。

4

1 回答 1

2

应该这样做:

<charting:LineSeries.DependentRangeAxis>
    <charting:LinearAxis Orientation="Y"  Title="Y Axis"/>
</charting:LineSeries.DependentRangeAxis>

阅读此 SO 帖子和此其他SO 帖子

编辑:取自此 SO post,设置 x 和 y 轴执行以下操作

<charting:Chart.Axes>
  <charting:LinearAxis Orientation="Y">
     <charting:LinearAxis.Title>
          <ContentControl ContentTemplate="{StaticResource YAxisTitleContentTemplate}"/>
     </charting:LinearAxis.Title>
  </charting:LinearAxis>
  <charting:CategoryAxis Orientation="X">
       <charting:CategoryAxis.Title>
           <ContentControl ContentTemplate="{StaticResource XAxisTitleContentTemplate}"/>
       </charting:CategoryAxis.Title>
  </charting:CategoryAxis>
</charting:Chart.Axes>

仅适用于 X 轴:

<charting:Chart.Axes>
   <charting:CategoryAxis Orientation="X" Title="The X Axis Title" />
</charting:Chart.Axes>
于 2013-09-11T07:56:37.287 回答