Hi Anghshuman,
You can easily create the attached chart by using crossed axes - in combination with secondary axes features. The following code snows how to create a simple xy scatter point chart where the secondary x and y axes are crossed at zero:
NCartesianChart chart = (NCartesianChart)nChartControl1.Charts[0];
// switch x axes to linear mode
chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NLinearScaleConfigurator();
chart.Axis(StandardAxis.SecondaryX).ScaleConfigurator = new NLinearScaleConfigurator();
// cross X and Y axes
chart.Axis(StandardAxis.SecondaryX).Anchor = new NCrossAxisAnchor(AxisOrientation.Horizontal, new NValueAxisCrossing(chart.Axis(StandardAxis.PrimaryY), 0));
chart.Axis(StandardAxis.SecondaryY).Anchor = new NCrossAxisAnchor(AxisOrientation.Vertical, new NValueAxisCrossing(chart.Axis(StandardAxis.PrimaryX), 0));
// turn off labels for cross axes
(chart.Axis(StandardAxis.SecondaryX).ScaleConfigurator as NLinearScaleConfigurator).AutoLabels = false;
(chart.Axis(StandardAxis.SecondaryY).ScaleConfigurator as NLinearScaleConfigurator).AutoLabels = false;
// show secondary axes
chart.Axis(StandardAxis.SecondaryX).Visible = true;
chart.Axis(StandardAxis.SecondaryY).Visible = true;
chart.BoundsMode = BoundsMode.Fit;
chart.Width = chart.Height = 50;
// add some dummy data
NPointSeries point = new NPointSeries();
chart.Series.Add(point);
point.DataLabelStyle.Visible = false;
point.UseXValues = true;
point.DisplayOnAxis((int)StandardAxis.SecondaryX, true);
point.DisplayOnAxis((int)StandardAxis.SecondaryY, true);
point.Size = new NLength(1);
point.BorderStyle.Width = new NLength(0);
point.ClusterMode = ClusterMode.Enabled;
Random rand = new Random();
for (int i = 0; i < 3000; i++)
{
point.Values.Add(rand.Next(200) - 100);
point.XValues.Add(rand.Next(200) - 100);
}
Hope this helps - lets us know if you meet any problems.
Best Regards,
Nevron Support Team