Jgraph è un programma che serve a tracciare grafici e diagrammi strutturati.
Diversamente da altri strumenti per il disegno, Jgraph è un programma non interattivo: legge un file di input (il sorgente) e produce un file di output (la presentazione) in formato PostScript oppure EPS.
L'output può in seguito essere quindi visualizzato, stampato, incorporato in un altro file per ulteriori elaborazioni oppure convertito in altri formati.
Inoltre, si noti che Alml (il sistema di composizione SGML di Daniele Giacomini) offre supporto - a partire da gennaio 2006 - per il linguaggio Jgraph.
Questo capitolo costituisce una introduzione di livello elementare all'uso e alle caratteristiche principali del programma, senza alcuna prestesa di essere esauriente.
La documentazione di riferimento più completa per Jgraph è costituita dalla pagina di manuale, cui si rinvia il lettore interessato per gli eventuali approfondimenti.
Ecco l'utilizzo tipico di Jgraph:
In assenza di un nome di file dato come argomento, Jgraph legge dallo standard input.
Esempi elementari.
Al fine di prendere confidenza con il programma Jgraph, cominciamo vedere alcuni semplici esempi. Per indicare a Jgraph di tracciare un nuovo grafico o diagramma si utilizza la parola chiave newgraph; quindi si aggiungono delle curve al diagramma mediante newcurve; infine si aggiungono dei punti alla curva mediante pts.
Jgraph: un esempio elementare.
Si noti che l'intervallo visibile degli assi è stato automaticamente calcolato in modo da contenere precisamente tutti i punti specificati nel sorgente.
Nella pagina di manuale si trovano definiti i possibili stili da associare allle parole chiave marktype e linetype. Si noti in particolare che newline è semplicemente un sinonimo per newcurve marktype none linetype solid.
L'algoritmo di riconoscimento dell'input da parte di Jgraph è basato non sulle righe bensì sugli elementi sintattici (token-based); Jgraph semplicemente lavora su parole separate da spazi bianchi; i commenti devono essere inclusi fra (* e *). Gli oggetti fondamentali per Jgraph sono:
In parziale deroga a quanto or ora specificato, la parola chiave pts agisce in maniera «additiva», pertanto newcurve pts 0 0 1 1 2 2 equivale a newcurve pts 0 0 pts 1 1 pts 2 2.
È inoltre possibile includere dei file esterni nel sorgente Jgraph mediante include nome_file.
Gestione degli assi.
Attributo ed eventuali valori
Significato
size
dimensione
Imposta la dimensione dell'asse a dimensione (in pollici).
min valore
Imposta il valore minimo a valore.
max valore
Imposta il valore massimo a valore.
hash numero_valori
Traccia una tacca (primaria) e un'etichetta di tacca ogni numero_valori valori.
mhash numero_tacche
Traccia numero_tacche tacche secondarie fra ogni due tacche primarie consecutive.
gray scala_di_grigio
Imposta la scala di grigio dell'asse a scala_di_grigio, ove zero significa nero e uno significa bianco.
color componente_rossa \
\
\
Imposta il colore dell'asse, codificato mediante la terna RGB indicata.
Diversamente da altri strumenti per il disegno, Jgraph è un programma non interattivo: legge un file di input (il sorgente) e produce un file di output (la presentazione) in formato PostScript oppure EPS.
L'output può in seguito essere quindi visualizzato, stampato, incorporato in un altro file per ulteriori elaborazioni oppure convertito in altri formati.
Inoltre, si noti che Alml (il sistema di composizione SGML di Daniele Giacomini) offre supporto - a partire da gennaio 2006 - per il linguaggio Jgraph.
Questo capitolo costituisce una introduzione di livello elementare all'uso e alle caratteristiche principali del programma, senza alcuna prestesa di essere esauriente.
La documentazione di riferimento più completa per Jgraph è costituita dalla pagina di manuale, cui si rinvia il lettore interessato per gli eventuali approfondimenti.
Ecco l'utilizzo tipico di Jgraph:
$ jgraph in.jgr > out.eps[Invio]
oppure:
$ jgraph -P in.jgr > out.ps[Invio]
o, ancora:
$ cat in.jgr | jgraph -P | ps2eps -f -l -q > out.eps[Invio]
e simili.In assenza di un nome di file dato come argomento, Jgraph legge dallo standard input.
Esempi elementari.
Al fine di prendere confidenza con il programma Jgraph, cominciamo vedere alcuni semplici esempi. Per indicare a Jgraph di tracciare un nuovo grafico o diagramma si utilizza la parola chiave newgraph; quindi si aggiungono delle curve al diagramma mediante newcurve; infine si aggiungono dei punti alla curva mediante pts.
Jgraph: un esempio elementare.
(* Simple jgraph *)
newgraph
newcurve pts 2 3 4 5 1 6
Si noti che l'intervallo visibile degli assi è stato automaticamente calcolato in modo da contenere precisamente tutti i punti specificati nel sorgente.
Nella pagina di manuale si trovano definiti i possibili stili da associare allle parole chiave marktype e linetype. Si noti in particolare che newline è semplicemente un sinonimo per newcurve marktype none linetype solid.
Jgraph: un grafico con tre curve di tipo differente.
1 newgraph 2 xaxis size 2 3 yaxis size 1.5 4 5 newcurve pts 0 6 1 9 2 11 3 14 4 18 5 20 6 newcurve marktype triangle linetype solid 7 pts 0 3 1 4 2 7 3 9 4 10 5 13 8 newcurve marktype none linetype dashed color 1 0 0 9 pts 0 0 1 2 2 3 3 5 4 6 5 9
Alcuni dettagli sulla sintassi.
L'algoritmo di riconoscimento dell'input da parte di Jgraph è basato non sulle righe bensì sugli elementi sintattici (token-based); Jgraph semplicemente lavora su parole separate da spazi bianchi; i commenti devono essere inclusi fra (* e *). Gli oggetti fondamentali per Jgraph sono:
- la pagina;
- i grafici;
- gli assi;
- le curve;
- le stringhe;
- le legende.
In parziale deroga a quanto or ora specificato, la parola chiave pts agisce in maniera «additiva», pertanto newcurve pts 0 0 1 1 2 2 equivale a newcurve pts 0 0 pts 1 1 pts 2 2.
È inoltre possibile includere dei file esterni nel sorgente Jgraph mediante include nome_file.
Gestione degli assi.
Attributo ed eventuali valori
Significato
size
dimensione
Imposta la dimensione dell'asse a dimensione (in pollici).
min valore
Imposta il valore minimo a valore.
max valore
Imposta il valore massimo a valore.
hash numero_valori
Traccia una tacca (primaria) e un'etichetta di tacca ogni numero_valori valori.
mhash numero_tacche
Traccia numero_tacche tacche secondarie fra ogni due tacche primarie consecutive.
gray scala_di_grigio
Imposta la scala di grigio dell'asse a scala_di_grigio, ove zero significa nero e uno significa bianco.
color componente_rossa \
\
componente_verde
\ \
componente_azzurra
Imposta il colore dell'asse, codificato mediante la terna RGB indicata.
nodraw
Impedisce il tracciamento dell'asse, in ogni sua parte. draw
Garantisce il tracciamento dell'asse, in ogni sua parte.
log
Imposta la scala dell'asse come logaritmica.
linear
Imposta la scala dell'asse come lineare.
no_draw_hash_marks
Impedisce il tracciamento delle tacche lungo l'asse.
no_draw_hash_labels
Impedisce il tracciamento delle etichette lungo l'asse.draw_at valore
Traccia l'asse in una posizione diversa dal valore minimo.
label etichetta
Imposta l'etichetta dell'asse.
Uso di alcuni degli attributi degli assi.
newgraph
xaxis
size 6
min 0 max 100
hash 15 mhash 2 (* i.e. minor hashes at the 5's and 10's *)
color 1 0 0
label : This is the X axis
draw_at 10
yaxis
size 3
min 1 max 1000
log
no_draw_hash_marks
label : And this is the Y axis
color 0 1 1
newline color 1 0 1
pts 10 1
20 5
30 10
40 20
50 100
60 110
70 500
80 800
90 1000
100 1
xaxis
size 6
min 0 max 100
hash 15 mhash 2 (* i.e. minor hashes at the 5's and 10's *)
color 1 0 0
label : This is the X axis
draw_at 10
yaxis
size 3
min 1 max 1000
log
no_draw_hash_marks
label : And this is the Y axis
color 0 1 1
newline color 1 0 1
pts 10 1
20 5
30 10
40 20
50 100
60 110
70 500
80 800
90 1000
100 1
Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!