2009-10-26 3 views
10

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

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

Кто-нибудь еще был этот вопрос? Есть идеи?

ответ

10

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

Set

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

, а затем это позволило мне увеличить вдоль оси х просто отлично.

+0

Я пытался понять это довольно долго: невозможно масштабировать с разрешением ниже 1. Рад, что я наконец нашел ваш ответ. Я полностью согласен, что это не было очевидным из демо! –

+0

Это потрясающе. Мне никогда не придется слышать, как мой босс жалуется на это снова. – RussellStewart

7

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

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

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

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

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

Смежные вопросы