Y Интервал в управлении диаграммой неправильно настроен

Я динамически рисую ряды целочисленных данных на элементе управления диаграммой. Диапазон значений ряда может сильно различаться, например. y от 0 до 100 и x от 1 до 6000. Я использую chart1.ChartAreas [chartName] .RecalculateAxesScale (), и моя ось Y не отрегулирована должным образом. Для серий с низкими значениями y с f.e. y между 0–3, ось y установлена ​​в числовую шкалу с интервалом [0, 0,5, 1, 1,5, 2, 2,5, 3, 3,5]. Но я хочу, чтобы интервал был [0,1,2,3]. Когда я устанавливаю AxisY.Interval = 1, тогда в серии со значениями от 0 до 100 каждый тик y отображается.

Как я могу настроить мою ось Y на использование автоматической регулировки интервала, но только с целочисленными отметками?


person purbsel    schedule 26.07.2013    source источник


Ответы (1)


Вы можете обработать событие Customize элемента управления Chart. Поскольку вы не опубликовали код, показывающий, что вы сделали, вот некоторый псевдокод

private void chart1_Customize(object sender, EventArgs e)
{
    // if Y axis range is small =>  set Y axis interval 
    // else if Y axis range is ..... => set diff Y axis interval
}
person Joe Vi    schedule 28.07.2013
comment
это кажется хорошим решением. Сейчас я использую: if (chart1.Series["Series1"].Points.FindMaxByValue("Y1").YValues[0] < 10) { chartArea.AxisY.Interval = 1; } else { chartArea.AxisY.Interval = Double.NaN; }, и он отлично работает - person purbsel; 29.07.2013