This question is locked. New answers and comments are not allowed.
I'm designing the one line series which is similar to the line series that u designed in the following link.
http://demos.telerik.com/silverlight/#Chart/Sampling
Everything working fine. Only problem is i dont understand the logic behind Zooming technique.
Plz help me with this.
The following given is my code. plz have a generous look.
XAML Code
And This is Code behind.
http://demos.telerik.com/silverlight/#Chart/Sampling
Everything working fine. Only problem is i dont understand the logic behind Zooming technique.
Plz help me with this.
The following given is my code. plz have a generous look.
XAML Code
<navigation:Page xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="AnalyticsReports.MultiLineSeries" xmlns:telerikQuickStart="clr-namespace:Telerik.Windows.Controls.QuickStart;assembly=Telerik.Windows.Controls" mc:Ignorable="d" xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation" d:DesignWidth="1100" d:DesignHeight="600" Title="MultiLineSeries Page" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"> <Grid x:Name="LayoutRoot"> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Border telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled="True"> <telerik:RadChart x:Name="radChart1" ItemsSource="{Binding tempData}"> <telerik:RadChart.DefaultView> <telerik:ChartDefaultView> <telerik:ChartDefaultView.ChartArea> <telerik:ChartArea EnableAnimations="True" EnableTransitionAnimations="True" LegendName="Measures"> <telerik:ChartArea.ZoomScrollSettingsX> <telerik:ZoomScrollSettings RangeEnd="0.25" MinZoomRange="0.001" ScrollMode="ScrollAndZoom" PropertyChanged="ZoomScrollSettingsX_PropertyChanged" /> </telerik:ChartArea.ZoomScrollSettingsX> <telerik:ChartArea.AxisX> <telerik:AxisX DefaultLabelFormat="MMMM yyyy" StepLabelLevelCount="2" StepLabelLevelHeight="15" MajorGridLinesVisibility="Visible" /> </telerik:ChartArea.AxisX> <telerik:ChartArea.AxisY> <telerik:AxisY Title="Temperature in Celsius" MajorGridLinesVisibility="Visible" MinorGridLinesVisibility="Visible" /> </telerik:ChartArea.AxisY> </telerik:ChartArea> </telerik:ChartDefaultView.ChartArea> <telerik:ChartDefaultView.ChartLegend> <telerik:ChartLegend Visibility="Collapsed" /> </telerik:ChartDefaultView.ChartLegend> <telerik:ChartDefaultView.ChartTitle> <telerik:ChartTitle Content="MultiLine Series Measurements" /> </telerik:ChartDefaultView.ChartTitle> </telerik:ChartDefaultView> </telerik:RadChart.DefaultView> <telerik:RadChart.SeriesMappings> <telerik:SeriesMapping> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False"/> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="XValue" FieldName="Datetaken"/> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="A1C"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <!--<telerik:ItemMapping DataPointMember="XValue" FieldName="Date" />--> <telerik:ItemMapping DataPointMember="YValue" FieldName="A1C" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="DBP"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="YValue" FieldName="DBP" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="HDL"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="YValue" FieldName="HDL" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="LDL"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="YValue" FieldName="LDL" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="SBP"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="YValue" FieldName="SBP" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="Weight"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="YValue" FieldName="Weight" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> </telerik:RadChart.SeriesMappings> </telerik:RadChart> </Border> <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0"> <TextBlock Foreground="Black" VerticalAlignment="Center" Text="Time Period: " /> <Button Click="OneYear_Click" Content="1 Year" /> <Button Click="SixMonths_Click" Content="6 Months" /> <Button Click="OneMonth_Click" Content="1 Month" /> <Button Click="OneWeek_Click" Content="1 Week" /> </StackPanel> </Grid></navigation:Page>using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using System.Windows.Navigation;using AnalyticsReports.MyWebServiceReference;using Telerik.Windows.Controls.Charting;using System.ServiceModel;using System.ComponentModel;using Telerik.Windows.Controls;namespace AnalyticsReports{ public partial class MultiLineSeries : Page { List<MeasureData> tempData = new List<MeasureData>(); public MultiLineSeries() { InitializeComponent(); MyWebServiceReference.WebServiceSoapClient proxy = new MyWebServiceReference.WebServiceSoapClient(); proxy.GetUserMeasureCompleted += new EventHandler<GetUserMeasureCompletedEventArgs>(proxy_GetUserMeasureCompleted); proxy.GetUserMeasureAsync(1, 145204); } void proxy_GetUserMeasureCompleted(object sender, GetUserMeasureCompletedEventArgs e) { foreach (var t in e.Result.lstMeasureData) { tempData.Add(new MeasureData { Datetaken = t.Datetaken, A1C= t.A1C, DBP = t.DBP,HDL=t.HDL,LDL = t.LDL,SBP=t.SBP,Weight=t.Weight }); } radChart1.ItemsSource = tempData; } private void ZoomScrollSettingsX_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (this.radChart1 == null) return; double range = (sender as ZoomScrollSettings).Range; if (range > 0.7d) { radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "yyyy"; radChart1.DefaultView.ChartArea.AxisX.StepLabelLevelCount = 1; } else if (range > 1d / 12d) { radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "MMMM yyyy"; radChart1.DefaultView.ChartArea.AxisX.StepLabelLevelCount = 2; } else if (range > 1d / 12d / 30d) { radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "dd MMM yyyy"; radChart1.DefaultView.ChartArea.AxisX.StepLabelLevelCount = 2; } else { radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "dd-MMM (HH:mm)"; radChart1.DefaultView.ChartArea.AxisX.StepLabelLevelCount = 2; } } private void OneYear_Click(object sender, RoutedEventArgs e) { this.SetRange(1d / 12d); } private void SixMonths_Click(object sender, RoutedEventArgs e) { this.SetRange(1d / 24d); } private void OneMonth_Click(object sender, RoutedEventArgs e) { this.SetRange(1d / 144d); } private void OneWeek_Click(object sender, RoutedEventArgs e) { this.SetRange(1d / 625d); } private void SetRange(double newRange) { if (radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.RangeEnd + newRange > 1) radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.SetSelectionRange(1 - newRange, 1); else radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.RangeEnd = radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.RangeStart + newRange; } }}