Мониторинг диаграммы MS Zoom Увеличить MinSize

Я реализую график рассеяния, используя MS Chart Control.NET 3.5, WinForms, С#. Мои данные по оси x - DateTime, и я заметил, что не могу увеличить масштаб меньше разрешения 1 день, несмотря на то, что вы устанавливаете ScaleView следующим образом:

chart1.ChartAreas["MyChart"].AxisX.ScaleView.MinSize = 4;
chart1.ChartAreas["MyChart"].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Hours;

У кого-нибудь еще была эта проблема? Любые идеи?

Ответ 1

Выяснил это... возможно, я не закрыл RTFM достаточно, но это было не очевидно из интерактивной демонстрации.

Set

chart1.ChartAreas["MyChart"].CursorX.Interval = 0;

а затем он позволил мне масштабировать вдоль оси х очень хорошо.

Ответ 2

Отлично работает! Очень удобная и обязательная, если вы хотите иметь плавное поведение при масштабировании.
Не наткнулся на него, хотя я сделал RTFM: -)

Однако, если вы обрабатываете удвоения или float вместо целых типов (например, часов или дней), установка интервала в Zero может быть немного экстремальной: при масштабировании вы получите слишком точные метки, такие как 2, 907343253253235

Хорошая комбинация заключается в использовании этих двух свойств:

chartArea1.AxisY.ScaleView.MinSize = 0;
chartArea1.CursorY.Interval = 0.001;

таким образом вы можете масштабировать столько, сколько хотите, но все же контролируя точность на разумном уровне