Поделиться через


Использование пустых точек данных в элементах управления диаграммы

Пустыми называются точки данных, которые не имеют значений Y.Такие точки данных удобны для управления внешним видом и структурой данных на диаграмме, а также для работы с точками данных, имеющими значение NULL.

Пустые точки используются в следующих случаях.

  • Представление точек со значениями NULL.

  • Изменение внешнего вида точек данных, отсутствующих в области построения.

  • Выравнивание нескольких рядов.Сведения о выравнивании данных см. в разделе Выравнивание данных.

Добавление пустых точек

Пустую точку данных можно добавить в ряд данных одним из следующих способов.

  • Установите свойство Empty точки данных в значение True.

  • Привяжите точку данных к значениям типа DBNull.

  • Используйте метод InsertEmptyPoints класса DataManipulator, чтобы вставить пустую точку вручную.

Метод InsertEmptyPoints с помощью интервалов по оси X проверяет наличие точки данных для каждого интервала.Если точка не существует, то метод вставляет пустую точку.Для правильного отображения пустых точек укажите интервал, соответствующий свойствам Interval, IntervalOffset, IntervalType и IntervalOffsetType в объекте основной или вспомогательной оси области диаграммы (ChartArea.AxisX или ChartArea.AxisX2).

Также можно определить диапазон значений X, в котором проверяются отсутствующие точки данных.

Примечание

Метод InsertEmptyPoints можно применять к нескольким рядам, указав имена рядов в списке с разделителями-запятыми в качестве входного параметра.

В следующем коде показана вставка пустых точек в два ряда.В первом вызове метода в качестве интервала для проверки ряда Series1 используется один день, а результат сохраняется в тот же ряд.Во втором вызове метода в качестве интервала используется каждый понедельник (с помощью смещения), а затем результирующие данные сохраняются в новый ряд с именем ResultSeries.

Imports Dundas.Charting.WebControl
  ...
  
With Chart1.DataManipulator
' Insert empty point for each day if there is no data point present.
.InsertEmptyPoints(1, IntervalType.Days, "Series1")

' Insert empty point for each Monday, but if there is no data point present, then
' Monday is offset by 1 day from the beginning of the week (Sunday).
.InsertEmptyPoints(1, IntervalType.Weeks, 1, IntervalType.Days, "Series2", "ResultSeries")
End With
// Insert empty point for each day if there is no data point present.
Chart1.DataManipulator.InsertEmptyPoints(1, IntervalType.Days, "Series1");

// Insert empty point for each Monday, but if there is no data point present, then
// Monday is offset by 1 day from the beginning of the week (Sunday).
Chart1.DataManipulator.InsertEmptyPoints(1, IntervalType.Weeks, 1, IntervalType.Days, "Series2", "ResultSeries");

Изменение внешнего вида пустых точек

С помощью свойства Series.EmptyPointStyle можно изменить визуальное представление пустых точек, выводимых на диаграммах подходящего типа.Пользовательское свойство EmptyPointValue может задавать, что пустые точки нужно рассматривать как имеющие нулевые значения или значения, представляющее среднее между значениями слева и справа от пустой точки.Дополнительные сведения о пользовательских свойствах см. в разделе Пользовательские свойства.

В следующем примере кода демонстрируется применение свойства Series.EmptyPointStyle.

' Show marker (red cross) instead of a line for first series.
Chart1.Series("Series1").EmptyPointStyle.BorderWidth = 1
Chart1.Series("Series1").EmptyPointStyle.BorderColor = Color.Black
Chart1.Series("Series1").EmptyPointStyle.MarkerColor = Color.Red
Chart1.Series("Series1").EmptyPointStyle.MarkerSize = 15
Chart1.Series("Series1").EmptyPointStyle.MarkerStyle = MarkerStyle.Cross
 
' Show empty point of second series as thin dotted line (treated as an average).
Chart1.Series("Series2").EmptyPointStyle.BorderStyle = ChartDashStyle.DashDotDot
Chart1.Series("Series2").EmptyPointStyle.MarkerColor = Color.FromArgb(64, 64, 64)
 
' Treat empty point of third series as a zero using the EmptyPointValue custom property.
Chart1.Series("Series3").EmptyPointStyle.BorderWidth = 1
Chart1.Series("Series3").EmptyPointStyle.MarkerColor = Color.FromArgb(0, 192, 0)
Chart1.Series("Series3").EmptyPointStyle.CustomProperties = "EmptyPointValue = Zero"
// Show marker (red cross) instead of a line for first series.
Chart1.Series["Series1"].EmptyPointStyle.BorderWidth = 1;
Chart1.Series["Series1"].EmptyPointStyle.BorderColor = Color.Black;
Chart1.Series["Series1"].EmptyPointStyle.MarkerColor = Color.Red;
Chart1.Series["Series1"].EmptyPointStyle.MarkerSize = 15;
Chart1.Series["Series1"].EmptyPointStyle.MarkerStyle = MarkerStyle.Cross;

// Show empty point of second series as thin dotted line (treated as an average).
Chart1.Series["Series2"].EmptyPointStyle.BorderStyle = ChartDashStyle.DashDotDot;
Chart1.Series["Series2"].EmptyPointStyle.MarkerColor = Color.FromArgb(64, 64, 64);

// Treat empty point of third series as a zero using the EmptyPointValue custom property.
Chart1.Series["Series3"].EmptyPointStyle.BorderWidth = 1;
Chart1.Series["Series3"].EmptyPointStyle.MarkerColor = Color.FromArgb(0, 192, 0);
Chart1.Series["Series3"].EmptyPointStyle.CustomProperties = "EmptyPointValue = Zero";

См. также

Ссылки

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

Основные понятия

Сортировка данных

Выравнивание данных

Фильтрация данных

Другие ресурсы

Привязка данных и обработка