简体   繁体   中英

MSChart WinForms Chart Control: How do I align DataPoints with Series label on RangeBar chart?

I have a win forms chart control with a RangeBar type chart where I add Series and DataPoints as follows:

 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++;
        }
    }

My chart then looks as follows:

在此处输入图片说明

What I want is the DataPoints of Series P01_67 and P03_69 to be correctly aligned (in the middle of the series line) as with the Series P02_68. Any ideas how I can do this? Thanks!

If you want them aligned you need to set this property

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

But then your series will not be drawn side by site and will overlap Or you can try to remove the empty series from the Chart. ( Then you will need to take care of the Labels )

Eg:-

Check Here for more information

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM