Не видя соответствующих частей своего кода, трудно решить проблемы.
Вот одно странное заявление:
после достаточно точек данных были нанесены на него, данные будут превышать , что видно на экране монитора (так что диаграмма показывает только самые последние данные).
Теперь это может произойти только после того, как вы установили AxisX.Maximum
, потому что по умолчанию элемент управления диаграммой будет все больше сжимать область, пока вы добавляете точки.
Но когда вы установили максимум того, что можно показать, ни одна полоса прокрутки не может работать или даже отображаться. Звучит логично, не так ли?
Так что либо не устанавливайте его в первую очередь, либо не очищайте, когда количество точек превышает то, что вы хотите показать. Для того, чтобы очистить его использовать NaN
:
chart1.ChartAreas[0].AxisX.Maximum = Double.NaN;
Или, конечно, установить его в последний момент вы хотите показать!
Посмотрев на то, что вы не должны делать, давайте посмотрим, что вам нужно сделать, чтобы показать скроллбар:
Первый включить его:
chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = true;
Далее вы сказать ему, чтобы показать только скроллинг ручки и не кнопки зума сброса:
chart1.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;
См MSDN on ScrollBarButtonStyles
для различных вещей, полоса прокрутки может показать/сделать!
И чтобы убедиться, что пользователь не может масштаба установить это:
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = false;
И, наконец, установить текущий диапазон, чтобы показать:
chart1.ChartAreas [0] = .AxisX.ScaleView.Size 111; // show 111 DataPoints
Теперь показывается полоса прокрутки.
Это хорошая идея для изучения AxisScaleView
class, так как у нее есть несколько полезных свойств ..
В зависимости от типа данных ваших X-значений вы можете также необходимо установить ScaleView.MinSizeType
к тому, что подходит для вашей информации:
chart1.ChartAreas[0].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Number;