2012-03-04 59 views
1

我有一个双赢形成图表控件与RangeBar类型的图表,我添加系列和数据点如下:MSChart WinForms图表控件:如何在RangeBar图表上将DataPoints与系列标签对齐?

public void AddSeries(List<Machine> machines) 
    { 
     string mID=""; 
     chart.ChartAreas[0].AxisX.Minimum =0; 
     chart.ChartAreas[0].AxisX.Maximum =machines.Count+1;   
     int x = 1; 
     foreach (var m in machines) 
     { 
      if (x < 4) 
      { 
       mID = m.idMachine.ToString(); 
       chart.Series.Add(new Series(mID)); 
       chart.Series[mID].YValuesPerPoint = 2; 
       chart.Series[mID].Color = Color.Magenta; 
       chart.Series[mID].ChartType = SeriesChartType.RangeBar; 
       chart.Series[mID]["PointWidth"] = "0.7"; 
       chart.Series[mID].IsVisibleInLegend = false; 
       chart.Series[mID].AxisLabel = m.MachineNo + "_" + m.idMachine; 
       chart.Series[mID]["DrawSideBySide"] = "true";    

       DateTime dt = new DateTime(2010, 1, 6); 
       chart.Series[mID].Points.AddXY(x, dt.ToOADate(), dt.AddDays(1).ToOADate()); 
      } 
      x++; 
     } 
    } 

然后我图如下所示:

enter image description here

我要的是与P02_68系列一样,系列P01_67和P03_69的数据点能够正确对齐(在系列线的中间)。任何想法我可以做到这一点?谢谢!

回答

0

如果你希望他们对准你需要通过网站来设置该属性

chart.Series[mID]["DrawSideBySide"] = "false"; 

但随后你的系列将无法绘制侧,将重叠 或者你可以尝试从图表中删除空系列。 (然后,你将需要采取的标签的保健)

如: -

Check Here for more information