giovedì 19 settembre 2013

Guida a Jgraph programma che serve a tracciare grafici e diagrammi strutturati: qualche nota autobiografica.

Maria Susana Diaz | 14:33 |
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.
jgraph diagram-JGraph
Pochi giorni dopo la prima pubblicazione del presente articolo, ho ricevuto un messaggio di posta elettronica da parte di un lettore. Ecco il frammento rilevante:...

Per quanto riguarda la creazione dei grafici devo creare un grafico con
circa 200 barre orizzontali e pertanto devo creare un grafico che si
sviluppi su più pagine mettendo un certo numero di barre per ogni
pagina.


Distinti saluti
...

Ad ulteriore conferma della versatilità degli strumenti come Jgraph, ho realizzato in poco più di mezz'ora il programma data2multijgr.sh (il programma dovrebbe essere disponibile qui: <allegati/xs/data2multijgr_sh>).

Il programma, pur essendo molto rudimentale, risolve il problema del lettore. Eccone la sintassi:
data2multijgr.sh [opzione] ...
ed eccone un utilizzo tipico:
$ cat data[Invio]
18 4 15 0 2 0 16 3 7 11 12 0 1 9 5 19 8 19 0 13 14 0 19 9 12 3 11 3 10 18
17 0 14 4 1 16 5 9 11 12 1 3 4 14 13 1 13 13 1 5 6 7 18 17 16 10 13 19 13
15 17 3 15 3 7 8 19 4 18 3 16 11 6 13 5 11 14 19 4 15 16 2 2 14 12 10 5 17
9 10 12 18 5 19 13 13 8 13 17 18 8 6 9 14 19 14 6 13 5 2 1 2 17 15 8 1 18
13 18 19 4 2 18 9 13 3 14 1 8 4 11 16 2 0 11 13 7 9 18 4 11 19 18 0 7 7 1 5
12 11 16 8 5 6 18 19 10 4 12 18 0 4 15 2 16 6 15 15 15 6 0 18 5 10 11 4 17
4 1 2 16 18 10 1 4 0 0 14 5 5 13 17 9 8 0 17 6 7 13 13

$ cat data | data2multijgr.sh -d 15 -t "Grafico multiplo" -X 40 -x -10 > multi.jgr[Invio]

$ cat multi.jgr[Invio]

newgraph
title fontsize 50 : Grafico multiplo (1/14)
xaxis min -10 max 40 size 5 hash_labels fontsize 30
yaxis min -1 max 15 size 8 hash_labels fontsize 30
newcurve marktype ybar cfill 1 0 0 marksize 1 0.75 pts
18 0 4 1 15 2 0 3 2 4 0 5 16 6 3 7 7 8 11 9 12 10 0 11 1 12 9 13 5 14 
newpage
newgraph
title fontsize 50 : Grafico multiplo (2/14)
xaxis min -10 max 40 size 5 hash_labels fontsize 30
yaxis min 14 max 30 size 8 hash_labels fontsize 30
newcurve marktype ybar cfill 1 0 0 marksize 1 0.75 pts
19 15 8 16 19 17 0 18 13 19 14 20 0 21 19 22 9 23 12 24 3 25 11 26 3 27 10 28 18 29 
newpage
newgraph
title fontsize 50 : Grafico multiplo (3/14)
xaxis min -10 max 40 size 5 hash_labels fontsize 30
yaxis min 29 max 45 size 8 hash_labels fontsize 30
newcurve marktype ybar cfill 1 0 0 marksize 1 0.75 pts
17 30 0 31 14 32 4 33 1 34 16 35 5 36 9 37 11 38 12 39 1 40 3 41 4 42 14 43 13 44 
newpage
newgraph
...

$ cat multi.jgr | jgraph -P > multi.ps[Invio]
$

Il file multi.ps che così si ottiene è un file PostScript composto da più pagine ciascuna contenente un grafico relativo a un segmento specifico dei dati.

Le prime tre pagine di una grafico multiplo, distribuito su 14 pagine, realizzato grazie al programma data2multijgr.sh.

f-jgraph-data2multijgr-sh-esempio-1 f-jgraph-data2multijgr-sh-esempio-2 f-jgraph-data2multijgr-sh-esempio-3


La tabella riassume le opzioni del programma. Chiunque fosse interessato è invitato adattare il programma data2multijgr.sh alle proprie esigenze, o aggiugervi delle caratteristiche più sofisticate (magari inviando una copia del programma modificato al sottoscritto).

Opzioni del programma data2multijgr.sh.
Opzione
Descrizione
{--dataperpage | -d} dati_per_ogni_pagina

Stabilisce quanti dati vengono inseriti nel grafico per ciascuna pagina.

{--title | -t} titolo

Stabilisce il titolo da dare al grafico.

{--xmin | -x} valore_minimo

Stabilisce il valore minimo sull'asse delle ascisse.

{--xmax | -X} valore_massimo

Stabilisce il valore massimo sull'asse delle ascisse.

{--ymin | -y} valore_minimo

Stabilisce il valore minimo sull'asse delle ordinate.

{--ymax | -Y} valore_massimo

Stabilisce il valore massimo sull'asse delle ordinate.

{--cfcolor | -c} componente_rossa \
  \ componente_verde \
  \ componente_azzurra

Imposta il colore delle barre, codificato mediante la terna RGB indicata.

{--landscape | -l}

Fa in modo che il risultato sia orientato in modo orizzontale. Il modo predefinito è quello verticale.

{--psout | -p}

Produce direttamente un file PostScript (attraverso Jgraph).

{--view | -v}

Visualizza direttamente il grafico (atraverso GV).

Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:

GOOGLE+

LINKEDIN

Xtreme Download Manager, XDMAN Ubuntu, audio, Linux opera mini, browser internet Chromium Linux, Chrome, browsers tux collection, mascote Linux LibreCAD, Grafica, Disegno vim, editor, linux, ubuntu Ardour, audio, Ubuntu Unity, deskyop, Gnome, Ubuntu grafica 3d, Linux, Blender