
Uno degli aspetti fondamentali quando si disegna un grafico attraverso C# o VB.NET è il riuscire a trasformare in maniera opportuna le coordinate del dataset che si vuole rappresentare. Infatti, una trasformazione delle coordinate errata può portare dei risultati sbagliati e fuorvianti. La prima cosa che bisogna ricordare è che il sistema richiede le coordinate dei punti in forma di pixel. In particolare, se si vuole riprodurre un certo punto determinato dal valore di due coordinate X e Y sullo schermo, bisognerà ottenere il suo equivalente grafico, dato dalle trasformazioni delle due variabili in coordinate pixel e con riferimento l’origine della bitmap istanziata in precedenza.
Questa trasformazione è di per sé molto semplice, ma richiede molta attenzione in quanto fondamentale per una giusta rappresentazione. Supponendo di avere un dataset in due variabili, X e Y, e supponendo di aver creato una bitmap caratterizzate dalle seguente variabili:
- Left, ovvero la coordinata X del vertice in alto a sinistra del rettangolo;
- Top, ovvero la coordinata Y del vertice in alto a sinistra del rettangolo;
- Width, ovvero l’ampiezza del rettangolo;
- Height, ovvero l’altezza del rettangolo;
allora occorrerà ottenere una coppia di coordinate, e
, che facciano rifermento alla bitmap, in particolare all’estremo sinistro, di cui possediamo le coordinate. Per ogni punto basterà, quindi, applicare queste trasformazioni:
La X può essere trasformata in maniera tale che ricada all’interno della bitmap. Servirà quindi che il massimo valore delle X sia associato all’estremo destro della bitmap e il minimo all’estremo sinistro, scalando di conseguenza tutti gli altri valori in maniera che risultino compresi tra questi due. Questo è ottenibile, per una generica osservazione i-esima, attraverso la seguente formula:
Analogamente, bisognerà scalare in modo uguale anche le coordinate della Y, ricordando però che la bitmap fornisce un riferimento per l’estremo sinistro superiore, e non, come convenzionalmente è abitudine nel definire l’origine di un grafico, l’estremo sinistro inferiore. La formula risulterà essere la seguente: