所以,我最终找到了它,但我不认为它有很好的记录。那里每个chartArea
拥有财产图表区域.位置 http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.chartarea.position.aspx。该类型的属性元素位置 http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.elementposition.aspx,并包含与此问题相关的 4 个属性。
Height:获取或设置图表元素的高度。
Width:获取或设置图表元素的宽度。
X:获取或设置适用图表元素左上角的相对 X 坐标。
Y:获取或设置适用图表元素左上角的相对 Y 坐标。
当你深入挖掘时,Height
and Width
属性也以相对坐标表示,因此只能输入 0 - 100。
基本上,你必须改变每个高度,并且每个Y移动它们。初次创建后,不会自动调整其他数字。
例如,如果我只是改变Height
如果将 ChartArea[1] 更改为更小的值,它仍然会锚定在之前的位置,这是有道理的,在其下方留下大量空白。
如果我然后增加Height
的chartArea[0],它可能会覆盖我们刚刚调整大小的chartArea[1]。所以我必须设置Y
ChartArea[1] 将其向下移动,这样它就不会被绘制,并且空白区域也消失了。
因此,为了获得与我在问题中提出的类似的内容,我将其设置为:
chart1.ChartAreas[0].Position.Y = 10;
chart1.ChartAreas[0].Position.Height = 60;
chart1.ChartAreas[1].Position.Y = 70;
chart1.ChartAreas[1].Position.Height = 20;
为了使这个解释更清楚一些,我将把这些图表区域所在的图表控件称为“父级”。
这些是百分比,但对于本示例,我们假设父级的大小为 100 像素。
这将第一个图表区域设置为以 10 像素开始显示,并使其高度约为 60 像素。然后,它开始以 70 像素显示第二个图表区域,并使其高度约为 20 像素。
如果此图表高 200 像素,则比例将相同,但实际像素将加倍(因此将第一个图表区域设置为 60 将使其高 120 像素)。
我确实在我的实际程序中对此进行了更多的填充,因为它的标题覆盖了轴标签,但我觉得这些数字有助于更好地解释它。