Pergunta

Estou implementando um gráfico de dispersão usando os MS gráfico de controle .NET 3.5, WinForms, C #. Meus dados do eixo-x é DateTime e notei que eu não poderia fazer zoom menor do que uma resolução de 1 dia, apesar de definir o ScaleView da seguinte forma:

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

Tem mais alguém teve esse problema? Alguma idéia?

Foi útil?

Solução

descobriram isso ... talvez eu não RTFM perto o suficiente, mas não foi evidente a partir da demonstração interativa.

Set

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

e, em seguida, permitiu-me para fazer zoom ao longo do bem eixo x.

Outras dicas

funciona muito bem! Muito útil e obrigatória se você quer ter suavizar comportamento Zooming.
não tropeçou em cima dele, embora eu fiz RTFM: -)

No entanto, se você lida com duplas ou flutua em vez de tipos inteiros base (tais como horas ou dias), definindo o intervalo de zero pode ser um pouco exagerado pouco: enquanto o zoom, você vai acabar por ter etiquetas excessivamente precisas, tais como 2 , 907343253253235

Uma boa combinação é usar essas duas propriedades:

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

Desta forma, você pode aumentar o zoom tanto quanto você quer, enquanto ainda controlando precisão a um nível razoável

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top