Guida a JGraph, programma per tracciare grafici e diagrammi strutturati: gestione delle etichette di tacca e dei grafici a barre.

Analogamente al caso delle legende è possibile modificare l'insieme delle etichette di tacca di un asse, come unità complessiva, mediante l'attributo hash_labels: ad esempio, per cambiare le etichette di tacca in figura 6.9 in maniera tale che la fonte sia Times-Italic e la dimensione della fonte sia 16, si può scrivere hash_labels font Times-Italic fontsize 16, e analogamente per l'asse delle ordinate (listato 6.16, righe 4 e 7, e figura 6.17).

Grafici a barre.
Utilizzando come indicatori xbar e ybar si ottengono i grafici a barre: xbar produce barre che si estendono parallelamente all'asse delle ordinate, ybar barre che si estendono parallelamente all'asse delle ascisse.

Il listato 6.18 e la figura 6.19 forniscono un interessante esempio di grafico a barre.

Listato 6.16. Jgraph: gestione delle etichette di tacca.
      1 newgraph
      2 
      3 xaxis min 0 max 10 size 7
      4   hash_labels font Times-Italic fontsize 16
      5 
      6 yaxis min 0 max 10 size 4
      7   hash_labels font Times-Italic fontsize 16
      8 
      9 newcurve marktype box marksize 1.5 1 linetype solid cfill 1 0 0
     10    pts 1 3  2 5  3 1  4 8
     11 
     12 copycurve marktype ellipse cfill 1 0 .5
     13    pts 6 3  7 5  8 1  9 8
Figura 6.17.
f-hlabels-jgr

Listato 6.18. Jgraph: grafico a barre.
      1 newgraph
      2 
      3 xaxis 
      4   min 0.1 max 4.9 
      5   size 3.5
      6   hash 1 mhash 0 no_auto_hash_labels
      7 
      8 yaxis 
      9   min 0 max .4
     10   size 2
     11   precision 3
     12 
     13 newcurve marktype xbar cfill 1 0 0 marksize .8 
     14   pts   1 .390
     15         2 .389
     16         3 .353 
     17         4 .343
     18 
     19 xaxis
     20   hash_label at 1 : Larry Walker
     21   hash_label at 2 : Tony Gwynn
     22   hash_label at 3 : Mike Piazza
     23   hash_label at 4 : Kenny Lofton
     24   hash_labels hjl vjc font Helvetica rotate -90
     25 
     26 yaxis label : Batting Average
     27 title : NL Batting Leaders, August 5, 1997
Figura 6.19.
f-bar-jgr
Alcune osservazioni in merito al listato 6.18:
  • Righe 3-6
    Si imposta la dimensione e l'intervallo dei valori per l'asse delle ascisse e si impostano le tacche sulle unità senza tacche secondarie; inoltre si indica a Jgraph di non generare le etichette di tacca in modo automatico, poiché si desidera personalizzarle.
  • Righe 8-11
    Niente di particolare da notare tranne l'attributo precision il quale specifica di includere tre decimali nelle etichette di tacca per l'asse delle ordinate.
  • Righe 13-17
    Traccia la curva tramite barre rosse verticali.
  • Righe 19-24
    Ulteriore modifica che interessa l'asse delle ascisse, generando etichette di tacca per ciascun punto e successivamente modificandole in maniera che appaiano ruotate di 90 gradi (in senso orario).
  • Righe 26-27
    Si genera un etichetta per l'asse delle ordinate e un titolo per il grafico.
L'esempio illustrato nella presente sezione dovrebbe convincere delle possibilità del programma Jgraph: è possibile generare grafici anche di una certa complessità in maniera abbastanza naturale.

Particolarità.

Poligoni.

La possibilità di tracciare dei poligoni estende non poco le capacità grafiche del programma Jgraph: è sufficiente applicare l'attributo poly alla curva da tracciare. Gli attributi pfill e pcfillpermettono inoltre di specificare una scala di grigio o un colore per la campitura del poligono.

L'attributo linethickness consente di controllare lo spessore del perimetro. È possibile campire il poligono con un disegno a strisce in alternativa alla campitura solida mediante ppattern stripe inclinazione, ove inclinazione controlla l'inclinazione delle strisce. Infine, se si indica -1 come colore di campitura del poligono viene tracciato solamente il bordo mentre l'interno rimane vuoto, il che può essere talvolta desiderabile.

Il listato 6.20 e la figura 6.20 presentano un esempio con alcuni poligoni di diversa campitura. Si osservi che Jgraph traccia le curve nell'ordine indicato, sicché è possibile prevedere le eventuali sovrapposizioni.

Listato 6.20. Jgraph: poligoni.
newgraph

xaxis min 0 max 10 size 5
yaxis min 0 max 10 size 5

(* Draw a red trapezoid -- setting both the fill and color to be red means
   that the entire trapezoid, and not just the interior, will be red. *)

newline poly pcfill 1 0 0 color 1 0 0
   pts 1 1  3 1   2.5 2  1.5 2

(* Draw a big black square *)

newline poly pfill 0 pts 3 3  10 3  10 10  3 10

(* Draw a thick yellow triangle with a purple, striped interior inside the black
   square *)

newline poly linethickness 5 color 1 1 0 pcfill 1 0 1 ppattern stripe 60 
   pts  4 4   8 4  6 6 

(* Draw a blue triangle with a thick border no fill *)

newline poly linethickness 10 color 0 0 1 pfill -1 pts 4 9  6 5 8 8 
Figura 6.21.
f-poly-jgr
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
reeder
Luca Soraci

Luca Soraci

Ubuntu giunge alle nostre orecchie solo perché è stato mutuato come nome per un sistema operativo di successo; lo abbiamo sentito nei discorsi di Mandela, del vescovo Tutu, ed è uno dei concetti fondanti di quel movimento di rinascimento che vuole far fiorire il continente africano al di sopra delle difficoltà attuali.

Nessun commento:

Posta un commento

Powered by Blogger.