私はc#を使用してWPFに取り組んでいます。WPF ツールキットを使用して値を含む WPF エリア チャートを表示しようとしています。CodeProject の KB 記事に従って、次のように書いています。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:DV="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:DVC="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="WpfChart.MainWindow"
Title="MainWindow" Height="621.053" Width="873.684">
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto" Margin="0,-28,0,28">
<Grid Height="921">
<DVC:Chart x:Name="areaChart" Title="Chart Title"
VerticalAlignment="Top" Margin="33,73,24,0" Height="582" Background="White" >
<DVC:AreaSeries DependentValuePath="Value"
IndependentValuePath="Key" ItemsSource="{Binding}"
IsSelectionEnabled="True" Title="Weeks of Gestation"></DVC:AreaSeries>
<DVC:Chart.Palette>
<DV:ResourceDictionaryCollection>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="Firebrick" />
<Setter Property="BorderBrush" Value="Black" />
</Style>
</ResourceDictionary>
</DV:ResourceDictionaryCollection>
</DVC:Chart.Palette>
<DVC:Chart.Axes>
<!-- Add Horizontal and Vertical Axes-->
<DVC:LinearAxis ShowGridLines="True"
Orientation="Y"
Title="Y Axis Title"
Interval="5" Maximum="45" Minimum="-5"
Foreground="Black"
FontFamily="Arial Black"
FontSize="16"
FontWeight="Bold"
/>
<DVC:LinearAxis ShowGridLines="True"
Orientation="X"
Title="X-Axis Title"
Interval="4" Minimum="0" Maximum="40"
Foreground="Black"
FontFamily="Arial Black"
FontSize="16"
FontWeight="Bold"
/>
</DVC:Chart.Axes>
</DVC:Chart>
</Grid>
</ScrollViewer>
</Window>
そして、チャートデータを初期化するためのコードを次のように記述します。
private void LoadAreaChartData()
{
((AreaSeries)areaChart.Series[0]).ItemsSource =
new KeyValuePair<string, int>[]{
new KeyValuePair<string, int>("3", 5)
};
}
ただし、ポイントをチャートにマッピングしません。次のように、ポイントをチャートにマッピングする必要があります。
(X,Y)--(3,5) x 軸上の点 3 と y 軸上の点 5 の交点をマークする必要があります。どうすればこれを達成できますか? 間違った方法で行った場合は、私を導いてください. 前もって感謝します。