2009-10-26 6 views
10

Ich implementiere ein Streudiagramm mit dem MS Chart Control .NET 3.5, WinForms, C#. My x-Achsen-Daten sind Datetime und bemerkte, kann ich nicht in kleineren vergrößert als eine Auflösung von 1 Tag, trotz Einstellung des Zeichnungsbereiches wie folgt:MS Chart Control Zoom MinSize Problem

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

Hat jemand dieses Problem gehabt? Irgendwelche Ideen?

Antwort

10

Ich habe das herausgefunden ... vielleicht habe ich RTFM nicht nah genug, aber es war nicht offensichtlich von der interaktiven Demo.

Set

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

und dann erlaubt es mir ganz gut entlang der x-Achse zu vergrößern.

+0

Ich habe schon eine Weile versucht, das herauszufinden: ich kann nicht mit einer Auflösung kleiner als 1 zoomen. Froh, dass ich endlich deine Antwort gefunden habe. Ich stimme völlig zu, das war nicht offensichtlich von der Demo! –

+0

das ist genial. Ich werde meinen Chef nie wieder darüber klagen müssen. – RussellStewart

7

Funktioniert gut! Sehr praktisch und obligatorisch, wenn Sie ein weiches Zoom-Verhalten haben möchten.
Hatte auf sie nicht stolpern, obwohl ich RTFM

Allerdings habe :-), wenn Sie verdoppelt behandeln oder schwimmt statt integer basierten Typen (wie Stunden oder Tage), ein wenig das Intervalls auf Null Einstellung sein kann etwas extrem: Während Zoomen, werden Sie am mit allzu präzise Etiketten enden wie 2,907343253253235

Eine gute Kombination dieser beiden Eigenschaften zu verwenden ist:

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

diese Weise können Sie so viel vergrößern, wie Sie wollen , während die Genauigkeit immer noch auf einem vernünftigen Niveau gehalten wird