Note: pour le tracé de spectres FITS, utiliser \vFile avec l'option graph, voir exemple dans /ftp/cats/J/A+AS/117/93/.status. Toutefois, avec des spectres mis sous forme de matrice 2×N avec 1 dimension = lambda, 1 dimensions = Flux, utiliser le programme fits2a avec l'option -axis1=.. comme dans /ftp/cats/J/MNRAS/373/687/.graph.
Le tracé utilise le programme GNU de tracés de plots http://cdsarc.u-strasbg.fr/~cats/graph/, qui permet un tracé dans différents langages (gif, ps, png, etc...); la documentation originale est conservée à l'Université d'Alberta
\xW{_640}{Vgraph}{J/A+A/371/579/table1}{44}{Show the plot}
Note 1: on peut préciser une taille du graph par --bitmap-size= (défaut: 600x600; pour \wGraph, il est préférable de diminuer à 600x400).
Note 2: Pas forcément besoin de fichier .graph, les arguments peuvent être donnés dans \vGraph ou \wGraph,
Le programme Vgraph fait appel au fichier .graph qui doit se trouver dans le directory du catalogue. C'est ce fichier qui va donner les instructions de plot: si ce fichier est exécutable, il est dans ce cas appelé comme un programme; sinon, le contenu du fichier sera sourcé (exécution sous csh). Lorsque le fichier .graph est exécuté, le programme appelant (Vgraph) a déjà fait un changement de directory pour être dans le directory du catalogue. Les fichiers contenus dans le catalogue directory sont donc appelables directement.
Un exemple de tracé — génération de courbes à partir de la décomposition de Fourier — se trouve dans /ftp/cats/J/A+A/371/579/.graph.
Le fichier .graph est en principe exécuté 2 fois: la première fois la variable $Vgraph n'est pas définie, le rôle de .graph est de générer un texte en htx; et au deuxième appel .graph va générer une image dont le format est précisé par la variable $Vgraph (gif généralement).
Les variables d'environnement suivantes sont connues et peuvent donc être utilisées dans .graph:
Lorsqu'en entrée du fichier .graph, la variable $Vgraph n'est pas définie, c'est du texte HTX qui doit être généré. 2 macros liées au tracé sont utilisables:
cgigraph [-ps:texte_ancre_figure_PS] [-cap:HTML_caption] [-txt:texte_ancre_table] [-img:HTML_image_options] [-form:texte_bouton_submit] -htx [param=value] [-graph other_graph_options]
Exemple dans /ftp/cats/J/AJ/121/2032/.graph
Les 3 arguments -ps: , -cap: , -form: sont utilisés pour des liens vers une image postscript, typiquement -ps:"Postscript Figure" -txt:"Data as a Table" situés sous l'image, à gauche et à droite; le texte introduit par -cap: est centré sous l'image, et peut être utilisé pour un lien vers un download de fichier, par exemple -cap:"<&Cat.file $theCat/image/$theTab.gif|Image in GIF>" ou bien pour un fichier qui peut être comprimé -cap:"<&Cat.viz.cds $theCat/fits/$theTab.fit|Spectrum in FITS>"
cgigraph peut acepter des paramètres, typiquement la période pour les courbes de lumière. Les paramètres peuvent également être sous forme de menus (boutons select) si le paramètre commence par LIST_, par exemple LIST_el=H;He;C;N;O va générer un menu appelé el qui pourra prendre l'une des 5 valeurs H, He, C, N ou O.
Lorsqu'en entrée du fichier .graph, la variable $Vgraph est définie avec l'une des valeurs gif, ou ps, il faut utiliser le pgogramme graph pour générer l'image.
L'entrée du programme graph contient 2 ou 3 valeurs (x, y, e) pour le tracé d'un point. Une ligne blanche demander d'utiliser la couleur suivante de la liste des couleurs donnée par l'argument –pen-colors de graph. A noter que l'on peut forcer les changements dans le flux d'entree par une ligne
# m = %d, S = %d, I = %c
où m est le mode (numéro de couleur), S est le symbole, et I le type d'entrée (avec ou sans barre d'erreur). Attention, un mode positif trace des lignes ! Pour un tracé de points disjoints, il faut un mode négatif...
Il est possible d'utiliser des fichiers extérieurs:
En effet, les arguments définissant les limites en x peuvent s'écrire
Ce script définit aussi les couleurs ``standard'' des systèmes photométriques UVBRI, uvby et bvriz sous leur forme graph, e.g. 1=purple4:2=blue3:3=green3:4=red2:5=red4. Pour transformer ces chaînes en vecteurs, on pourra par exemple écrire
set col = `echo $UBVRI | sed 's/:*.=/ /g'`
Ce script est par exemple utilisé pour les courves de lumière des observations de l'AFOEV, dans /usr/httpd/bin/afoev.