0

私のチャートでは、Y 軸の前にテキストを「% Volume」のような Y 軸の中央に垂直タイトルとして表示し、中央の 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 軸にそれぞれこのようなタイトルを設定するにはどうすればよいですか。

更新:ポールが提供するソリューション: 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 に 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投稿から取得し、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 に答える