2014-03-31 2 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 좌표를 사용합니다.

관련 문제