Hi,
AxisX.ConvertPhysicalUnitsToData() and AxisY.ConvertPhysicalUnitsToData() are both return wrong value.
working:
RadChart1.DefaultView.ChartArea.AxisX.Visibility = Visibility.Visible;
RadChart1.DefaultView.ChartArea.AxisY.Visibility = Visibility.Visible;
RadChart1.DefaultView.ChartArea.Legend.Visibility = Visibility.Collapsed;
other cases are returned wrong value.
How do I know calculated X,Y values?
If I added movable vertical GridLine annotation, how do I know GridLine's Y value when it moved?
and I'm using RadControls for Silverlight Q3 2010 SP1.
here is my test code.
Thanks,
AxisX.ConvertPhysicalUnitsToData() and AxisY.ConvertPhysicalUnitsToData() are both return wrong value.
working:
RadChart1.DefaultView.ChartArea.AxisX.Visibility = Visibility.Visible;
RadChart1.DefaultView.ChartArea.AxisY.Visibility = Visibility.Visible;
RadChart1.DefaultView.ChartArea.Legend.Visibility = Visibility.Collapsed;
other cases are returned wrong value.
How do I know calculated X,Y values?
If I added movable vertical GridLine annotation, how do I know GridLine's Y value when it moved?
and I'm using RadControls for Silverlight Q3 2010 SP1.
here is my test code.
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
Telerik.Windows.Controls.Charting;
using
System.Collections.ObjectModel;
namespace
Grouping_DateTime
{
public
partial
class
MainPage : UserControl
{
static
ObservableCollection<Setpoint> setpoints =
new
ObservableCollection<Setpoint>();
public
MainPage()
{
InitializeComponent();
getSetpointCollection();
SeriesMapping sm2 =
new
SeriesMapping();
sm2.SeriesDefinition =
new
LineSeriesDefinition() { ShowPointMarks =
false
, ShowItemToolTips =
true
};
sm2.SeriesDefinition.Appearance.StrokeThickness = 1.5;
sm2.ItemMappings.Add(
new
ItemMapping(
"Score"
, DataPointMember.YValue));
sm2.ItemMappings.Add(
new
ItemMapping(
"Time"
, DataPointMember.XValue));
sm2.GroupingSettings.GroupDescriptors.Add(
new
ChartGroupDescriptor(
"SiteID"
));
RadChart1.DefaultView.ChartArea.Legend.Visibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.Padding =
new
Thickness(0);
RadChart1.DefaultView.ChartArea.Margin =
new
Thickness(0);
RadChart1.DefaultView.ChartArea.EnableAnimations =
false
;
RadChart1.DefaultView.ChartArea.EnableTransitionAnimations =
false
;
RadChart1.DefaultView.ChartArea.ZoomScrollSettingsX.ScrollMode = ScrollMode.None;
RadChart1.DefaultView.ChartArea.ItemToolTipOpening += OnItemToolTipOpening;
RadChart1.DefaultView.ChartArea.AxisY.AutoRange =
true
;
RadChart1.DefaultView.ChartArea.AxisY.ExtendDirection = AxisExtendDirection.Both;
RadChart1.DefaultView.ChartArea.AxisY.Visibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisY.MajorTicksVisibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisY.StripLinesVisibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisY.PlotAreaAxisVisibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisX.AutoRange =
false
;
RadChart1.DefaultView.ChartArea.AxisX.AddRange(-2, 16, 1);
RadChart1.DefaultView.ChartArea.AxisX.ShouldRoundMinValueOnZoom =
true
;
RadChart1.DefaultView.ChartArea.AxisX.ShouldScaleStepOnZoom =
true
;
RadChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat =
"#VAL{F1}"
;
RadChart1.DefaultView.ChartArea.AxisX.TicksDistance = 0;
RadChart1.DefaultView.ChartArea.AxisX.IsZeroBased =
true
;
RadChart1.DefaultView.ChartArea.AxisX.Visibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisX.LayoutMode = AxisLayoutMode.Normal;
RadChart1.DefaultView.ChartArea.AxisX.MajorGridLinesVisibility = Visibility.Visible;
RadChart1.DefaultView.ChartArea.AxisX.MajorTicksVisibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisX.MinorGridLinesVisibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisX.StripLinesVisibility = Visibility.Collapsed;
RadChart1.DefaultView.ChartArea.AxisX.PlotAreaAxisVisibility = Visibility.Collapsed;
this
.RadChart1.SeriesMappings.Add(sm2);
this
.RadChart1.ItemsSource = setpoints;
}
void
OnItemToolTipOpening(ItemToolTip2D tooltip, ItemToolTipEventArgs e)
{
ChartArea chartArea = RadChart1.DefaultView.ChartArea;
Point physical = e.MouseData.GetPosition(chartArea);
double
x = chartArea.AxisX.ConvertPhysicalUnitsToData(physical.X);
double
y = chartArea.AxisY.ConvertPhysicalUnitsToData(physical.Y);
tooltip.Content =
string
.Format(
"X: {0:0.0} Y={1:0.0}"
, x, y);
}
public
class
Setpoint
{
private
double
time;
private
double
score;
private
string
siteID;
public
double
Time
{
get
{
return
time; }
set
{
if
(value != time)
{
time = value;
}
}
}
public
double
Score
{
get
{
return
score; }
set
{
if
(value != score)
{
score = value;
}
}
}
public
string
SiteID
{
get
{
return
siteID; }
set
{
if
(value != siteID)
{
siteID = value;
}
}
}
}
private
void
getSetpointCollection()
{
string
id =
"2010-12-01 09:00"
;
setpoints.Add(
new
Setpoint { Time = -2.0, Score = 1150.0, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 0, Score = 50.0, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 5, Score = 100.0, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 7, Score = 150, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 9, Score = 200, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 11, Score = 300, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 13, Score = 350, SiteID = id });
setpoints.Add(
new
Setpoint { Time = 16.0, Score = 350, SiteID = id });
}
}
}
Thanks,