2011-10-19 4 views
0

좋아요.이 질문은 새 질문 일 수도 있지만 며칠이 지나서야 프로그래밍되었습니다.MScharts 그래프 : 열/막대 값을 덮어 씁니다.

 private void DynamicChartCreation_Load(object sender, System.EventArgs e) 
    { 
     // Create a Chart 
     Chart1 = new Chart(); 

     // Create Chart Area 
     ChartArea chartArea1 = new ChartArea(); 

     // Add Chart Area to the Chart 
     Chart1.ChartAreas.Add(chartArea1); 

     // Create a data series 
     Series series1 = new Series(); 
     Series series2 = new Series(); 

     // Add data points to the first series 
     series1.Points.Add(34); 

     // Add data points to the second series 
     series2.Points.Add(14); 

     // Add series to the chart 
     Chart1.Series.Add(series1); 
     Chart1.Series.Add(series2); 

     // Set chart control location 
     Chart1.Location = new System.Drawing.Point(16, 48); 

     // Set Chart control size 
     Chart1.Size = new System.Drawing.Size(360, 260); 

     // Add chart control to the form 
     this.Controls.AddRange(new System.Windows.Forms.Control[] { this.Chart1 }); 

    } 

그것은 열 차트 내가 통해 동적으로 열 값을 변경할 수 있도록하려면 : 그래서 내가 런타임시 동적으로 생성 된 그래프입니다 MScharts에서 예를 들어 차트를했다, 코드는 다음과 같다 콤보 박스. 질문 : 기존의 이전 값을 어떻게 덮어 쓰시겠습니까?

나는 다음과 같이 Series.point.add와 그것을 시도 :

   Chart1.Series["Series1"].Points.AddY(comboBox_value); 

하지만 그 대신 첫 번째 시리즈 1 열에 값을 적용하는, 그것은 바로 옆에 새 값으로 다른 열을 만듭니다.

감사합니다. 감사드립니다.

답변

0

axix "X"에 대한 프로젝트에서 사용자 정의를했는데 참조 용으로 여기에 코드를 붙여 넣습니다 ... 내 환경에서는 정상적으로 작동합니다. 사용자 환경에서 확인하십시오.

protected void SpiLineAreaChart_Customize(object sender, EventArgs e) 
{ 
    foreach (ChartArea area in ((Chart)sender).ChartAreas) { 
     foreach (Axis axis in area.Axes) { 
      if (axis.Name.StartsWith("X")) { 
       foreach (CustomLabel label in axis.CustomLabels) { 
        counter = counter + 1; 
       } 
       lastpoint = counter; 
       midpoint = counter/2; 
       for (int i = 0; i <= counter - 1; i++) { 
        if (i == 0) { 
         axis.CustomLabels(i).Text = MonthVal; 
        } else if (i == midpoint - 1) { 
         StartDate = StartDate.AddDays(31); 
         strstartdate = StartDate.ToString("MMM"); 
         axis.CustomLabels(i).Text = strstartdate; 
        } else if (i == lastpoint - 1) { 
         StartDate = StartDate.AddDays(31); 
         strstartdate = StartDate.ToString("MMM"); 
         axis.CustomLabels(i).Text = strstartdate; 
        } else { 
         axis.CustomLabels(i).Text = ""; 
        } 
       } 

      } 
     } 
    } 
} 
+0

, 정말 그것으로 아무것도 할 어차피 – sikender

+0

.... 당신을 도움이된다면 나에게 의견을주십시오 :/I 꽤 새로운 미경입니다. 내 차트에서도 작동하도록 구현하려면 어떻게해야합니까? – user995180

+0

당신은 단지 combvalue 값을주고 어디에 내가 monthval을 주었고 나머지 코드는 제거했다. – sikender

관련 문제