动态创建多个图表区域

时间:2014-03-31 13:35:16

标签: vb.net winforms charts alignment

我正在创建一个程序,它给出一些数据文件,根据这些文件创建图表。我没有创建多个图表,而是选择在循环中创建多个图表区域,并将各种数据添加到图表区域。当使用一些小的样本数据时,程序在图表中创建3个图表区域并且工作正常。

然而,使用较大的数据时,程序会创建图表区域,但由于要创建的图表区域超过10个,因此它们不适合图表的大小,也不是垂直对齐而是水平对齐。

我想要做的是增加大数据的所有图表区域中图表拟合的大小,垂直对齐所有图表区域,并允许用户通过滚动条查看所有图表区域,因为它将使用真实数据文件的很多图表区域,任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

以下是您可以切换到的对齐类型的示例

Chart1.ChartAreas(0).AlignmentOrientation = AreaAlignmentOrientations.Horizontal
Chart1.ChartAreas(0).AlignmentOrientation = AreaAlignmentOrientations.Vertical

对于滚动条,图表控件不支持滚动条。我要做的是让我的原始图表包含在某种面板/标签 [任何支持滚动条的容器] 中,然后所需的图表数量达到一定水平,在原始图表下方添加另一个图表然后允许容器构建滚动条

'when charts required is now 5 create new chart
If Chart1.ChartAreas.Count =4 Then
      Dim OverflowChart As New Chart
      'add a new chart below your current chart and let the container
      'have the scroll bar and not your chart control

End if

答案 1 :(得分:0)

我在这里发布后很快就想到了这是具有讽刺意味的。为了将来有类似问题的人。我这样做的方式是: - 向表单添加滚动条 - 使空白图表尽可能大,以适应将要使用的任何数据 - 使用ChartArea.Position手动设置每个图表区域的位置,并在循环中更改每个图表的posY

由于ChartAreas.Position还具有宽度和高度属性,并且允许我使用每个图表的y坐标轻松地对齐图表区域,因此这非常有效并且让我对图表区域的大小有了很大的控制权。区域。