BoldDeskWe are launching BoldDesk on Product Hunt soon. Learn more & follow us.
[SF version is 13.1]
I have a Fast Line Series in a chart with a category axis as Xaxis populated with Datetime values mapped to a Numerical axis as Yaxis.
Hi Senthil,
Thanks for update.
We have analyzed your query and achieved your requirement
for getting point info as shown in the below code snippet. Also, we have
prepared a sample based on this, please download from below location,
CodeSnippet:
var chart = sender as SfChart;
FrameworkElement element = e.OriginalSource as FrameworkElement;
if (element != null && element.Tag is ChartSegment)
{
FastLineSegment segment = element.Tag as FastLineSegment;
var series = segment.Series as FastLineSeries;
double x, y, stackedValue;
segment.Series.FindNearestChartPoint((Point)e.GetPosition(sfchart), out x, out y, out stackedValue);
MessageBox.Show("X:" + x);
}
Sample: TrackBallBehavior
Please let us know in case of any query.
Regards,
Suresh S
private void sfchart_MouseDown(object sender, MouseButtonEventArgs e) { var chart = sender as SfChart; FrameworkElement element = e.OriginalSource as FrameworkElement; if (element != null && element.Tag is ChartSegment) { FastLineSegment segment = element.Tag as FastLineSegment; var series = segment.Series as FastLineSeries; double x, y, stackedValue; segment.Series.FindNearestChartPoint((Point)e.GetPosition(sfchart), out x, out y, out stackedValue); //MessageBox.Show("X:" + x); var items = segment.Item as List<object>; if (items != null && items.First() is Model && items.Count > x) { var key = ((Model)items[(int)x]).Year; MessageBox.Show(key + ":" + y + ":" + stackedValue); } } }
Hi Senthil,
Thanks for update.
We have analyzed your query and achieved your requirement
for getting data point as shown in below code snippet. Also, we have modified
the sample based on this, please download from below location.
Code Snippet:
private void sfchart_MouseDown(object sender, MouseButtonEventArgs e)
{
var chart = sender as SfChart;
FrameworkElement element = e.OriginalSource as FrameworkElement;
if (element != null && element.Tag is ChartSegment)
{
FastLineSegment segment = element.Tag as FastLineSegment;
var series = segment.Series as FastLineSeries;
double x, y, stackedValue;
segment.Series.FindNearestChartPoint((Point)e.GetPosition(sfchart), out x, out y, out stackedValue);
Point dataPoint = e.GetPosition(sfchart);
var data = series.GetDataPointIndex(dataPoint.X,
dataPoint.Y);
if (data == -1) return;
var items = segment.Item as List<object>;
if (items != null && items.First() is Model && items.Count > data)
{
var key = ((Model)items[(int)data]).Year;
var valueY = ((Model)items[(int)data]).India;
MessageBox.Show(key + ":" +
valueY + ":" + stackedValue);
}
}
}
Sample: TrackBallBehavior
Please let us know in case of any query.
Regards,
Suresh S