Элемент управления MSChart WinForms Chart: как выровнять DataPoints с меткой Series на диаграмме RangeBar? - PullRequest
1 голос
/ 04 марта 2012

У меня есть элемент управления диаграммы выигрыша с диаграммой типа RangeBar, где я добавляю Series и 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

Я хочу, чтобы точки данных серий P01_67 и P03_69 были правильно выровнены (в середине строки серии), как в серии P02_68.Есть идеи, как я могу это сделать?Спасибо!

1 Ответ

0 голосов
/ 15 марта 2012

Если вы хотите, чтобы они были выровнены, вам нужно установить это свойство

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

Но тогда ваша серия не будет рисоваться рядом и будет перекрываться Или вы можете попытаться удалить пустую серию из диаграммы. (Тогда вам нужно будет позаботиться о ярлыках)

Например: -

Проверьте здесь для получения дополнительной информации

...