2009-10-26 8 views
10

Estoy implementando un diagrama de dispersión usando MS Chart Control .NET 3.5, WinForms, C#. Mi datos del eje x es DateTime y se dio cuenta que no podía hacer un zoom más pequeño que una resolución de 1 día, a pesar de marcar el Scaleview de la siguiente manera:MS Chart Control Zoom Problema MinSize

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

alguien más ha tenido este problema? ¿Algunas ideas?

Respuesta

10

Entendí esto ... quizás no me acerqué lo suficiente al RTFM, pero no fue obvio desde la demostración interactiva.

Conjunto

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

y luego me permitió Enfoque a lo largo del eje x bien.

+0

He estado tratando de resolver esto por un buen tiempo: no se puede hacer zoom con una resolución inferior a 1. Me alegro de que finalmente haya encontrado su respuesta. ¡Estoy totalmente de acuerdo en que esto no fue obvio en la demostración! –

+0

esto es increíble. Nunca más tendré que escuchar a mi jefe quejarse de esto otra vez. – RussellStewart

7

Funciona Great! Muy útil y obligatorio si quieres tener un comportamiento de acercamiento sin problemas.
no tropezó sobre él, aunque lo hice RTFM :-)

Sin embargo, si se maneja dobles o flotadores en lugar de tipos basadas en enteros (como las horas o días), configurar el intervalo de cero puede ser un poco poco extremo: Si se hace zoom, el resultado final será tener etiquetas demasiado precisas como 2,907343253253235

Una buena combinación es utilizar estas dos propiedades:

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

esta manera se puede acercar tanto como usted desea , mientras controla la precisión a un nivel razonable

Cuestiones relacionadas