Chartその3

やっと、X軸のラベルを変えることができた(〃´o`)=3 フゥ

xaml

<Window.Resources>
<Style x:Key=”DateTimeAxisLabelStyle1″ TargetType=”{x:Type chartingToolkit:DateTimeAxisLabel}”>
<Setter Property=”StringFormat” Value=”{}{0:M/d HH:mm}”/>
<Setter Property=”RenderTransform”>
<Setter.Value>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
</TransformGroup>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>

<chartingToolkit:Chart BorderThickness=”0″>
<chartingToolkit:Chart.LegendStyle>
<Style TargetType=”HeaderedItemsControl”>
<Setter Property=”Width” Value=”0″/>
<Setter Property=”Height” Value=”0″/>
</Style>
</chartingToolkit:Chart.LegendStyle>
<chartingToolkit:Chart.Axes>
<chartingToolkit:LinearAxis
Orientation=”Y”
Title=”CPM”
Minimum=”0″
Maximum=”50″ ShowGridLines=”True” />
<chartingToolkit:DateTimeAxis
Orientation=”X”
Title=”時分”
AxisLabelStyle=”{DynamicResource DateTimeAxisLabelStyle1}”
/>

</chartingToolkit:Chart.Axes>
<chartingToolkit:LineSeries Name=”chart_data” DependentValuePath=”Value” IndependentValuePath=”Key” DataContext=”{Binding}” ItemsSource=”{Binding}” IsSelectionEnabled=”True”>
<chartingToolkit:LineSeries.DataPointStyle>
<Style TargetType=”chartingToolkit:LineDataPoint”>
<Setter Property=”Template” Value=”{StaticResource ResourceKey=mark_template}”/>
<Setter Property=”Background” Value=”Blue”/>
</Style>
</chartingToolkit:LineSeries.DataPointStyle>
<chartingToolkit:LineSeries.PolylineStyle>
<Style TargetType=”{x:Type Polyline}”>
<Setter Property=”StrokeThickness” Value=”1″/>
<Setter Property=”StrokeMiterLimit” Value=”1″/>
</Style>
</chartingToolkit:LineSeries.PolylineStyle>
</chartingToolkit:LineSeries>
</chartingToolkit:Chart>

結局、DataTableとChartとバインディングできなかったので、Listのクラスをかますことにした。

cs

// グラフ表示
DBdataToList datalist = new DBdataToList(m_DataTable);
chart_data.DataContext = datalist;

Listのクラス

class DBdataToList : List<KeyValuePair<DateTime, int>>
{
public DBdataToList(DataTable data)
{
for (int i = 0; i < data.Rows.Count; i++ )
{
this.Add(new KeyValuePair<DateTime, int>(DateTime.ParseExact(data.Rows[i][0].ToString()
, “yyyy-MM-dd HH:mm:ss”, null), int.Parse(data.Rows[i][1].ToString())));
}
}
}

近似曲線にとりかかるか。。。

コメントを残す

%d人のブロガーが「いいね」をつけました。