Ogni Series può essere associata ad uno specifico asse, dotato di opportune proprietà. Per attribuire un asse ad una Series è necessario:
✓ definire un'apposita Rule di tipo Axis;
✓ inserire la Key ad essa relativa nella property YAxis, in caso di asse verticale, o XAxis, in caso di asse orizzontale, della Rule definente la Series.
Due Series che condividono lo stesso asse verticcale, sono disegnate in scala. |
Due o più Series, associate ad assi con attributi differenti, possono convivere nella stessa Chart Area. In particolare, ogni Chart Area può avere due o più assi su una stessa coordinata, al fine di rappresentare:
✓ gli stessi valori mediante scale differenti (e.g. centimetri e pollici);
✓ grandezze diverse ma correlate (e.g. superficie e popolazione).
La posizione reciproca di due Chart Area dipende dalla presenza di assi comuni tra le Series in esse rappresentate. Ad esempio, se le Series condividono lo stesso asse verticale, le Chart Area sono rappresentate una a fianco all’altra. |
Inoltre, assi dello stesso tipo (e.g. numerico o temporale) e dello stesso orientamento (i.e. verticale o orizzontale) possono sincronizzare le rispettive scale. in particolare è possibile sincronizzare:
✓ l'intera scala;
✓ i valori estremi delle singole scale;
✓ l'origine degli assi.
Per sincronizzare due assi è necessario configurare le seguenti proprietà:
✓ SyncronizeScaleAxis, Key dell'asse con cui sincronizzare l'asse corrente;
✓ SyncronizeScaleMode, modalità di sincronizzazione dei valori.
La proprietà SyncronizeScale può assumere i valori:
✓ Origin sincronizza la sola origine degli assi;
✓ Full sincronizza l'intera scala dell'asse corrente;
✓ High sincronizza l'estremo superiore dell'asse corrente;
✓ Low sincronizza l'estremo inferiore dell'asse corrente.
Alcuni Chart, tra cui quelli finanziari, sono caratterizzati da assi con scale temporali. Specifiche proprietà di una Rule di tipo Axis consentono di gestire diverse tipologie di assi temporali, tra le quali:
✓ scale temporali che rappresentano date;
✓ scale temporali che rappresentano porzioni di anno;
✓ scale temporali per grafici, rappresentanti valori riassuntivi su dati periodi.
Per definire scale che rappresentano singole date sono necessarie le seguenti proprietà di una Axis Rule:
✓ TimeInterval, densità dei valori da rappresentare sull’asse temporale (e.g. Days, Months, Quarters o Years);
✓ TimeIntervalAdvanced, classe di proprietà con cui personalizzare la densità dei valori presenti su un asse temporale.
Le proprietà caratteristiche della classe TimeIntervalAdvanced sono:
✓ Unit, intervallo temporale unitario predefinito;
✓ TimeSpan, intervallo temporale unitario personalizzabile;
✓ StartMonth, numero ordinale che identifica il mese dell'anno in cui si origina l’asse temporale;
✓ StartDayOfWeek, numero ordinale che identifica il giorno della settimana in cui si origina l’asse temporale;
✓ Start, data da utilizzare come origine dell’asse temporale;
✓ Multiplier, numero di Unit o TimeSpan tra due tra due valori successivi, rappresentati sull'asse, a partire dall’origine.
Il valore della proprietà TimeSpan deve essere specificato sotto forma di intervallo temporale (e.g. un intervallo di 4 giorni esatti equivale a 04.00:00:00). |
Per definire scale che rappresentano porzioni di anno sono necessarie i seguenti attributi della proprietà TimeScaleLabels di una Axis Rule:
✓ RangeIntervals consente di selezionare uno o più porzioni d’anno da visualizzare sull’asse temporale (e.g. Days, Months, Quarters e Years).
✓ RangeMode, valorizzata a Dynamic, consente di definire stili grafici specifici per ogni range selezionato;
✓ Mode valorizzata a Hidden, permette di nascondere i valori rappresentati in automatico dal sistema.
Per definire scale temporali per grafici che rappresentano valori riassuntivi su dati periodi dell’anno è necessario disporre di una tabella del Model contenente:
✓ i valori riassuntivi di ogni periodo;
✓ una data ed un’eventuale etichetta identificative per ogni periodo.
In questo particolare caso, la definizione degli assi avviene mediante;
✓ una Rule di tipo Series,
✓ una Rule di tipo Element.
La Rule di tipo Series deve essere caratterizzata dalle seguenti proprietà:
✓ SortElementValue valorizzata a XDateTime;
✓ SortDirectionAscending valorizzata a True.
Viceversa, la Rule di tipo Element deve essere caratterizzata dalle seguenti proprietà:
✓ Name, nome della colonna delle etichette dei periodi;
✓ XDateTime, colonna della tabella del Model contenente le date che identificano i periodi;
✓ YValue, colonna della tabella del Model contenente i valori riassuntivi.
Infine, l'attributo Mode della proprietà TimeScaleLabels consente di assegnare uno stile grafico alle etichette che compongono un asse temporale. Esso può assumere i valori:
✓ Default assegna un formato predefinito dal sistema;
✓ Hidden nasconde tutte le etichette;
✓ Dynamic consente di differenziare le singole etichette;
✓ Smart permette al sistema di impostare le etichette, in modo da ottimizzare lo spazio a disposizione.
In caso lo stile delle etichette sia esplicitamente specificato mediante altre proprietà, il valore Smart della proprietà Mode è inefficace. |