Chart / Interactivity / Hit Testing
In This Topic
Hit Testing
In This Topic

In NOV Chart for .NET hit testing is achieved by subscribing to one of the mouse events exposed by the NChartElement class. This class is similar to the Input element class in NOV UI and for more information you can visit the Input Elements topic. The following code snippet shows how to implement an interactive pie chart:

C#
Copy Code
NChartView chartView = new NChartView();
// create a dock panel with label and chart
NDockPanel dockPanel = new NDockPanel();
chartView.Surface.Content = dockPanel;
// crete a docked label
NLabel label = new NLabel();
label.Text = "Interactive Pie Chart";
label.Margins = new NMargins(10);
NDockLayout.SetDockArea(label, ENDockArea.Top);
dockPanel.AddChild(label);
// create a new cartesian chart
NPieChart pieChart = new NPieChart();
NDockLayout.SetDockArea(pieChart, ENDockArea.Center);
dockPanel.AddChild(pieChart);

NPieSeries pieSeries = new NPieSeries();
pieChart.Series.Add(pieSeries);
pieSeries.DataPoints.Add(CreateDataPoint(10));
pieSeries.DataPoints.Add(CreateDataPoint(20));
pieSeries.DataPoints.Add(CreateDataPoint(30));
...
private NPieDataPoint CreateDataPoint(double value)
{
NPieDataPoint pieDataPoint = new NPieDataPoint(value);
pieDataPoint.MouseDown += new Function<NMouseButtonEventArgs>(pieDataPoint_MouseDown);
return pieDataPoint;
}
void pieDataPoint_MouseDown(NMouseButtonEventArgs arg)
{
NPieDataPoint pieDataPoint = (NPieDataPoint)arg.TargetNode;
pieDataPoint.Fill = new NColorFill(NColor.Red);
}
In this example when the user clicks on a pie slice it will turn red.
See Also