Пустые точки не отображаются правильно - PullRequest
2 голосов
/ 27 июля 2011

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

1 Ответ

4 голосов
/ 28 июля 2011

Вам необходимо добавить точку в пустую позицию точки и установить для свойства 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, вам нужно знать, какой интервал ожидать точек.

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

...