C# MSChart WinForms图表控件:如何将数据点与范围条形图上的系列标签对齐?

C# MSChart WinForms图表控件:如何将数据点与范围条形图上的系列标签对齐?,c#,winforms,charts,mschart,C#,Winforms,Charts,Mschart,我有一个win forms图表控件,带有RangeBar类型的图表,其中我添加了系列和数据点,如下所示: public void AddSeries(List<Machine> machines) { string mID=""; chart.ChartAreas[0].AxisX.Minimum =0; chart.ChartAreas[0].AxisX.Maximum =machines.Count+1;

我有一个win forms图表控件,带有RangeBar类型的图表,其中我添加了系列和数据点,如下所示:

 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++;
        }
    }
public void AddSeries(列出机器)
{
字符串mID=“”;
chart.ChartAreas[0].AxisX.Minimum=0;
chart.ChartAreas[0].AxisX.Maximum=machines.Count+1;
int x=1;
foreach(机器中的var m)
{
if(x<4)
{
mID=m.idMachine.ToString();
图.系列.增加(新系列(中期));
chart.Series[mID].YValuesPerPoint=2;
chart.Series[mID].Color=Color.Magenta;
chart.Series[mID].ChartType=SerieChartType.RangeBar;
图表系列[mID][“PointWidth”]=“0.7”;
chart.Series[mID].IsVisibleInLegend=false;
chart.Series[mID].AxisLabel=m.MachineNo+“”+m.idMachine;
图表.Series[mID][“DrawSideBySide”]=“true”;
DateTime dt=新的日期时间(2010,1,6);
chart.Series[mID].Points.AddXY(x,dt.ToOADate(),dt.AddDays(1.ToOADate());
}
x++;
}
}
我的图表如下所示:


我希望系列P01_67和P03_69的数据点与系列P02_68一样正确对齐(在系列线的中间)。你知道我该怎么做吗?谢谢

如果希望它们对齐,则需要设置此属性

chart.Series[mID]["DrawSideBySide"] = "false";  
但是,你的系列将不会并排绘制,而是重叠 或者您可以尝试从图表中删除空序列。(然后您需要注意标签)

例如:-