2009-05-11 6 views
1

Microsoft Chart Control for .NET 3.5를 사용하고 있으며 차트 컨트롤에서 창 및 컨트롤 크기를 조정하는 데 어려움을 겪고 있습니다.Windows Forms 용 Dundas/Microsoft 차트 컨트롤에서 동적 간격을 얻는 방법?

X 값이 날짜 인 그래프가 있으며 그래프의 크기를 조정할 때 차트 축에 사용할 수있는 최대 간격/레이블을 차트에 표시하려고합니다.

내가 왔어요 가장 가까운는 PrePaint 이벤트에서이를 호출하는 것입니다 :

double interval = chart.Series[0].Points.Count/((double)chart.Width/90); 
foreach (var area in chart.ChartAreas.Where(ca => ca.Visible)) 
{ 
    area.AxisX.Interval = interval; 
} 

이 간격 및 라벨이 X 축을 따라 완벽하게 맞는 만들지 만, 날짜가 제대로 표시되지 않습니다. 첫 번째 레이블은 옳은 것 같습니다 (2008 년 날짜). 축에있는 나머지 레이블은 1900 년에 날짜로 대신 표시됩니다.

이렇게하는 것이 바람직한 방법은 무엇입니까?

답변

1

Microsoft Chart Controls의 날짜는 명시 적으로 최소 날짜부터 지정해야합니다. 그렇지 않으면 1899 년 12 월 29 일을 기점으로합니다. 당신은

chart.ChartAreas[0].AxisY.Minimum = (new DateTime(2010, 5, 1)).ToOADate(); 
chart.ChartAreas[0].AxisY.Maximum = (new DateTime(2011, 4, 1)).ToOADate(); 

Creating a Gantt Chart with the MS Chart Controls는 Microsoft 차트 컨트롤에 대한 몇 가지 유용한 정보를 가지고 포스트 같은 차트에서 최소 및 최대 날짜를 설정할 수 있습니다.