如何修改C#图表控件图表区域百分比
如果我有一个图表控件,其中有2 chartAreas
,图表控件在默认情况下将chartAreas放在另一个的顶部,使每个区域占用图表控件的可用大小的50% 。如何修改C#图表控件图表区域百分比
有没有办法来改变chartAreas'%的,这样我可以说,有顶级图表拿75%的面积,底部图表拿25%?
所以,我终于找到了它,但我认为它没有很好的记录。每个chartArea
有财产ChartArea.Position。该属性类型为ElementPosition,并包含与此问题相关的4个属性。
高度:获取或设置图表元素的高度。
宽度:获取或设置图表元素的宽度。
X:获取或设置适用图表元素左上角的相对X坐标。
Y:获取或设置适用图表元素左上角的相对Y坐标。
当挖越深,Height
和Width
性能也以相对坐标表示,例如,你只能输入0 - 100
基本上,你必须改变每个高度,和每个Y移动转移他们。初始创建后,它不会自动调整其他数字。例如,如果我只是将chartArea [1]的Height
更改为更小的值,它仍然会锚定在之前的位置,因为它会在其下方留下大量空白区域。
如果我再增加chartArea的Height
[0],它可能笼络chartArea [1],我们只是调整。因此,我必须设置chartArea [1]的Y
将其向下移动,以便它不会被拖动,并且空白区域消失。
因此,要获得类似的东西是什么,我问的问题,我将其设置为:
chart1.ChartAreas[0].Position.Y = 10;
chart1.ChartAreas[0].Position.Height = 60;
chart1.ChartAreas[1].Position.Y = 70;
chart1.ChartAreas[1].Position.Height = 20;
为了使这个解释有点更加清晰,我会参考图表控件,这些chartAreas是作为“父母”。
这些百分比,但在这个例子中,我们假定父母的大小为100个像素。
这将第一chartArea开始以10像素显示,并且使得约60像素高。然后它开始在70px显示第二个chartArea,并使其大约20px高。
如果这个图表是200像素高,那么比例是相同的,但实际像素是双(所以第一个图表区设置为60将使120像素高)。
我做了垫在我的真正的程序多做一些事情,因为这有标题覆盖轴标签,但我觉得这些数字有助于更好地解释它。
您还可以将第二个图表.Y位置设置为第一个图表的底部。这样你只需要担心第一张图表的位置。该代码看起来是这样的:
chart1.ChartAreas[0].Position.Y = 10;
chart1.ChartAreas[0].Position.Height = 60;
chart1.ChartAreas[1].Position.Y = chart1.ChartAreas[0].Position.Bottom;
chart1.ChartAreas[1].Position.Height = 20;
您还可以垫.Y位置,当然,这取决于你如何多的空白,想图表之间。对于我使用多个图表构建的应用程序,我使用这种方法,并保证每个图表都能正确定位,而不管个别图表做了什么。
代码,请... – 2013-03-15 16:48:02
@Peretz对于这部分我使用设计器来生成图表。虽然我可以复制该代码,但我不确定这会有所帮助。它只是一个标准图表,其中有两个chartAreas。没有我自己的代码影响到这一点,只是设计师。我想知道是否有人知道这个代码。 – Xantham 2013-03-15 16:53:38