2013-04-02 196 views
0

我想下面的代码创建条形图,其中条必须由用户名进行分组,但不知何故让问题标签重复如下图所示,的MSChart:标签在条形图中的X轴重复

enter image description here

我的数据表是一样的东西,

Question="Gravimetry" 
Project-test1=0 
Project-test2=1 

Question="Sub-Surface" 
Project-test1=0 
Project-test2=2 

Question="VSP" 
Project-test1=2 
Project-test2=3 
..... 

C#是,

  Series Series = new Series("Series1"); 
      Chart4.Series.Add("Series1"); 
      Chart4.Series.Add("Series2"); 

      Chart4.ChartAreas.Add("ChartArea1"); 

      // Set series chart type 
      Chart4.Series["Series1"].ChartType = SeriesChartType.Bar; 
      Chart4.Series["Series2"].ChartType = SeriesChartType.Bar; 


      // Set series point width 
      Chart4.Series["Series1"]["PointWidth"] = "0.6"; 
      Chart4.Series["Series2"]["PointWidth"] = "0.6"; 

      // Show data points labels 
      Chart4.Series["Series1"].IsValueShownAsLabel = true; 
      Chart4.Series["Series2"].IsValueShownAsLabel = true; 

      // Set data points label style 
      Chart4.Series["Series1"]["BarLabelStyle"] = "Center"; 
      Chart4.Series["Series2"]["BarLabelStyle"] = "Center"; 

      // Draw as 3D Cylinder 
      Chart4.Series["Series1"]["DrawingStyle"] = "Cylinder"; 
      Chart4.Series["Series2"]["DrawingStyle"] = "Cylinder"; 

      Chart4.DataSource = dt.DefaultView; 

      Chart4.ChartAreas["ChartArea1"].AxisX.Interval = 1; 

      Chart4.Series["Series1"].XValueMember = "Question"; 

      //Chart4.Series["Series1"].YValuesPerPoint = 2; 

      Chart4.Series["Series1"].YValueMembers = "Project-test1"; 
      Chart4.Series["Series2"].YValueMembers = "Project-test2"; 

      Chart4.DataBind(); 

任何帮助将不胜感激!

回答

0

看看Chart.DataBindTable method;它似乎绑定到表并按列提供分组。例如:

Chart4.DataBindTable(dt, "Question"); 

应该为表中的每个附加列创建一个系列,按问题列进行分组。

如果您需要更多定制,还有Chart.DataBindCrossTable method,它允许您指定哪些列用于创建系列值。