Настраиваемая линия сетки X / Y в элементе управления MSChart

У меня есть форма окна C # с простой двухмерной линейной диаграммой, в которую я хочу добавить пользовательские маркеры оси X или Y и нарисовать пользовательскую линию сетки (например, выделенным цветом, пунктирной линией). Я просмотрел свойство customLabels, но похоже, что оно переопределяет сетку по умолчанию, которую я все еще хочу отображать. Это нужно для иллюстрации чего-то вроде порога или отсечки. Как я могу сделать это с помощью элемента управления MSChart?

Большое спасибо


person akevan    schedule 29.06.2011    source источник


Ответы (1)


Сможете ли вы добиться желаемого с помощью полосковых линий?

В примерах диаграммы ms (получить здесь http://archive.msdn.microsoft.com/mschart) внутри раздела «Использование настраиваемых меток» они используют полосковые линии по оси Y, которые достаточно эффективны для выделения диапазонов значений. Они также не влияют на сетку ... Я проверил это, немного изменив пример кода, чтобы можно было легко перемещать границы полосковых линий (см. Ниже).

double low_med = 17; // was 30
double med_hi = 92;  // was 70

// Set Y axis custom labels
axisY.CustomLabels.Add(0, low_med, "Low");
axisY.CustomLabels.Add(low_med, med_hi, "Medium");
axisY.CustomLabels.Add(med_hi, 100, "High");

StripLine stripLow = new StripLine();
stripLow.IntervalOffset = 0;
stripLow.StripWidth = low_med;
stripLow.BackColor = Color.FromArgb(64, Color.Green);

StripLine stripMed = new StripLine();
stripMed.IntervalOffset = low_med;
stripMed.StripWidth = med_hi - low_med;
stripMed.BackColor = Color.FromArgb(64, Color.Orange);

StripLine stripHigh = new StripLine();
stripHigh.IntervalOffset = med_hi;
stripHigh.StripWidth = 100 - med_hi;
stripHigh.BackColor = Color.FromArgb(64, Color.Red);

axisY.StripLines.Add(stripLow);
axisY.StripLines.Add(stripMed);
axisY.StripLines.Add(stripHigh);
person zeFrenchy    schedule 02.08.2011