Пустые точки не отображаются правильно

Я не могу получить пустую точку, чтобы разбить строку и пропустить ее в MSchart. Я использую сплайн-диаграмму для данных, и когда она достигает пустой точки, я хочу, чтобы линия разорвалась. Я попытался установить стиль маркера и ширину границы на ничего и 0, а также попытался установить их в коде, но безуспешно.


person James    schedule 27.07.2011    source источник


Ответы (1)


Вам нужно добавить точку в позицию пустой точки и установить для свойства IsEmpty значение true.

Вот пример того, как получить пустую точку с помощью сплайна.

chart1.Series.Clear();
chart1.Series.Add(new Series());
chart1.Series[0].ChartType = SeriesChartType.Spline;

chart1.Series[0].Points.Add(new DataPoint(0, 1));
chart1.Series[0].Points.Add(new DataPoint(1, 4));
chart1.Series[0].Points.Add(new DataPoint(2, 8));
chart1.Series[0].Points.Add(new DataPoint(3, 8) { IsEmpty = true });
chart1.Series[0].Points.Add(new DataPoint(4, 4));
chart1.Series[0].Points.Add(new DataPoint(5, 2));
chart1.Series[0].Points.Add(new DataPoint(6, 1));

Я также пробовал код выше, не устанавливая пустую точку и используя другую технику.

chart1.Series[0].Points.Add(new DataPoint(0, 1));
chart1.Series[0].Points.Add(new DataPoint(1, 4));
chart1.Series[0].Points.Add(new DataPoint(2, 8));

chart1.Series[0].Points.Add(new DataPoint(4, 4));
chart1.Series[0].Points.Add(new DataPoint(5, 2));
chart1.Series[0].Points.Add(new DataPoint(6, 1));

chart1.DataManipulator.InsertEmptyPoints(1, IntervalType.Days, chart1.Series[0]);

Я просто установил IntervalType на дни, и он работал с кодом выше. Если вы получаете странные кривые в вашей линии на границах пустой точки, дайте мне знать.

Я считаю, что для того, чтобы последний пример выше работал с использованием DataManipulator, вам нужно знать, с каким интервалом ожидать точки.

Дайте мне знать, если это не работает для вас и как. (Загруженные скриншоты неправильного поведения потрясающие!)

person JHubbard80    schedule 28.07.2011
comment
Мне пришлось немного переработать, так как я использую VB.net, но теперь он работает. - person James; 01.08.2011