Domanda

Sto implementando un diagramma a dispersione usando MS Chart Control .NET 3.5, WinForms, C #. I miei dati sull'asse x sono DateTime e ho notato che non potevo zoomare in meno di una risoluzione di 1 giorno, nonostante l'impostazione di ScaleView come segue:

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

Qualcun altro ha avuto questo problema? Qualche idea?

È stato utile?

Soluzione

Capito questo ... forse non ho RTFM abbastanza vicino, ma non era ovvio dalla demo interattiva.

Set

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

e poi mi ha permesso di zoomare lungo l'asse x bene.

Altri suggerimenti

Funziona alla grande! Molto utile e obbligatorio se si desidera avere un comportamento regolare dello zoom.
Non ci siamo imbattuti, anche se ho fatto RTFM :-)

Tuttavia, se gestisci doppi o float anziché tipi basati su numeri interi (come ore o giorni), impostare l'intervallo su Zero potrebbe essere un po 'estremo: durante lo zoom, finirai per avere etichette troppo precise come 2 , 907343253253235

Una buona combinazione è usare queste due proprietà:

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

in questo modo puoi zoomare quanto vuoi, pur controllando la precisione a un livello ragionevole

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top