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).
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
|
|
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
|
|
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
|
|
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
Nessun commento:
Posta un commento