I have one Chart and three ChartArea that are aligned in view, zoom, cursor: this is my related previous post. All things works well except that the three ChartArea are not
You may want to take control of the size of the InnerPlotPosition.
(But Baddack's solution is simpler and more flexible!)
Here is an example:
After setting up a Chart
with three CharAreas
, setting Minima
and Maxima
as well as adding one DataPoint
to each we get this :
Your issue is showing clearly.
After setting the InnerPlotPosition
to a fixed percentage it looks like this:
Here is how to set the InnerPlotPosition
size:
ca1.InnerPlotPosition = new ElementPosition(10, 5, 80, 90);
ca2.InnerPlotPosition = new ElementPosition(10, 5, 80, 90);
ca3.InnerPlotPosition = new ElementPosition(10, 5, 80, 90);
Note that both ChartArea.Position
and ChartArea.InnerPlotPosition
are called 'Position' but really are areas of percentages referring to the respective containers!
So my example has a Left
distance of 10%, a Top
space of 5% and Width
of 80% and Height
of 90%. Which leaves 10% space at the Bottom
and 5% at the Right
. Note: All are referring to the ChartAreas
not the ClientArea
of the Chart
! (Which are still at Auto
, which maximizes the size.)
This was my initial setup:
ChartArea ca1 = chart.ChartAreas[0];
ChartArea ca2 = chart.ChartAreas[1];
ChartArea ca3 = chart.ChartAreas[2];
Series s1 = chart.Series[0];
Series s2 = chart.Series.Add("Series2");
Series s3 = chart.Series.Add("Series3");
s2.ChartArea = ca2.Name;
s3.ChartArea = ca3.Name;
s1.Points.AddXY(1, 7);
s2.Points.AddXY(1, 777);
s3.Points.AddXY(1, Math.PI);