2012-12-21 4 views
5

X 축 간격을 주로하여 C#에서 .NET 선 그래프를 만들고 있습니다. 내 프로젝트의 경우 사용자 지정 레이블 만 사용하고 싶지만 지금은 여전히 ​​눈금 선을 원합니다. 사용자 정의 레이블을 유지하면서 기본 X-Axis 레이블을 숨기는 방법을 아는 사람이 있습니까? .NET 차트의 X 축에서 사용자 지정 레이블 만 사용

나는이 시도 :

Chart4.ChartAreas[0].AxisX.LabelStyle.Enabled = false; 

명백한 결과는 내가 할 노력했다하지 않은, 적용되지 라벨이 있었다 없다는 것입니다.

편집 : 원래 행을 생성하는 코드는 다음이었다

int month = XValues[0].Month; 
var XAxis = Chart4.ChartAreas[0].AxisX; 

DateTime StartMonthPos = XValues[0]; 
DateTime EndPos = new DateTime(); 

foreach (DateTime Date in XValues) 
{ 
    EndPos = Date; 

    if (Date.Month != month) 
    { 
     Chart4.ChartAreas[0].AxisX.CustomLabels.Add(StartMonthPos.ToOADate(), EndPos.ToOADate(), StartMonthPos.ToString("MMMM"), 1, LabelMarkStyle.None); 
     StartMonthPos = Date; 
    } 

    month = Date.Month; 
} 

XAxis.CustomLabels.Add(StartMonthPos.ToOADate(), EndPos.ToOADate(), StartMonthPos.ToString("MMMM"), 1, LabelMarkStyle.None); 

차트는 다음과 같습니다 : Chart with dates

Chart4.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "M"; 

그리고 사용자 지정 레이블에 대한 코드는 다음을이었다

다음과 같이 표시되어야합니다. chart without dates

+0

기둥 형 차트 – Jerome

답변

5

괜찮 았던 것 같습니다. Label 개의 컨트롤이 MSDN입니다. 맞춤 라벨을 일반 라벨 대신 표시되게하려면 RowIndex 매개 변수를 0으로 설정하고 기본 라벨 행을 대체합니다. 맞춤 행의 마지막 코드는 다음과 같습니다.

int month = XValues[0].Month; 
    var XAxis = Chart4.ChartAreas[0].AxisX; 

    DateTime StartMonthPos = XValues[0]; 
    DateTime EndPos = new DateTime(); 

    foreach (DateTime Date in XValues) 
    { 
     EndPos = Date; 

     if (Date.Month != month) 
     { 
      Chart4.ChartAreas[0].AxisX.CustomLabels.Add(StartMonthPos.ToOADate(), 
       EndPos.ToOADate(), StartMonthPos.ToString("MMMM"), 0, LabelMarkStyle.None); 
      StartMonthPos = Date; 
     } 

     month = Date.Month; 
    } 

    XAxis.CustomLabels.Add(StartMonthPos.ToOADate(), EndPos.ToOADate(), 
      StartMonthPos.ToString("MMMM"), 0, LabelMarkStyle.None);