2014-03-31 192 views
0

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

但是使用更大的数据,该程序会创建图表区域,但因为有超过10个图表区域创建,他们不适合进入图表的大小,也被垂直对齐而不是水平。

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

+0

看看http://linq2charts.codeplex.com动态创建图表是很棒的。 – Larry

回答

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 
0

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

这工作很好,给了我很多控制,因为ChartAreas.Position也有宽度和高度属性,并允许我轻松对齐图表区域横向使用每个图表区域的y坐标。