Hi Kevin,
I see - probably in this case it will be better to use docking - that way the legend will first occupy some space and then the chart will have to fit in the rest - the following code snippet for example also produces a chart that does not overlap with the legend however in this case the legend size remains constant:
nChartControl1.Panels.Clear();
NLabel label = new NLabel();
label.Text = "Some Header";
label.Dock = DockStyle.Top;
label.DockMargins = new NMarginsL(10, 10, 10, 0);
nChartControl1.Panels.Add(label);
NDockPanel dockPanel = new NDockPanel();
dockPanel.DockMargins = new NMarginsL(10, 10, 10, 10);
dockPanel.PositionChildPanelsInContentBounds = true;
nChartControl1.Panels.Add(dockPanel);
NLegend legend = new NLegend();
legend.Dock = DockStyle.Right;
legend.DockMargins = new NMarginsL(10, 0, 0, 0);
dockPanel.ChildPanels.Add(legend);
dockPanel.Dock = DockStyle.Fill;
NCartesianChart chart = new NCartesianChart();
dockPanel.ChildPanels.Add(chart);
chart.BoundsMode = BoundsMode.Stretch;
chart.Dock = DockStyle.Fill;
chart.DisplayOnLegend = legend;
NBarSeries bar = (NBarSeries)chart.Series.Add(SeriesType.Bar);
bar.Values.Add(10);
bar.Values.Add(20);
bar.Values.Add(30);
Hope this helps - is this approach good for your case?...
Best Regards,
Nevron Support Team