Manuel du logiciel Mgraph

Louis Gonzalez et Christine Deroo

NOM

Mgraph 

SYNOPSIS

Mgraph [options] [command file]

DESCRIPTION


Mgraph est un logiciel de tracé permettant une visualisation et une mise en page rapide de données scientifiques présentées sous forme de fichiers ASCII pour les courbes classiques, sous forme de fichiers binaires pour les données de surfaces.
L'interface a été développée sous Motif. Elle peut être utilisée soit interactivement [page pageref], soit à l'aide de fichiers de commandes [page pageref], soit à partir de programmes C ou Fortran [page pageref].
Les fichiers de sorties sont en PostScript. Des images en format Tiff ou Gif peuvent aussi être générées.

Mgraph [options] Lancement de l'interface Motif.
Mgraph [options] file.com Lancement de l'interpréteur graphique sans visualisation.

OPTIONS

-Show
Exécute l'interpréteur graphique et lance l'interface Motif en visualisant le dernier graphique généré par le fichier de commandes.
-Inch
Utilise les inch au lieu des cm comme unité dans les éditeurs de positionnement et de dimensions.
-Nomem
Supprime la visualisation de l'image fractale dans la fenêtre de tracé. A utiliser si votre terminal est lent ou dispose de peu de mémoire locale.
-Help
Imprime ce manuel sur votre terminal.
-Zoom 75
Permet de réduire ou d'augmenter la taille des objets dessinés par Motif. Dans l'exemple, un facteur de réduction de 75% sera appliqué.
Attention il sera peut être nécessaire de modifier dans le fichier Mgraph.ad la ligne:
Mgraph*FontList: "-Adobe-Courier-Bold-r-Normal-*-12-*-*-....."

afin d'ajuster la taille de la police de caractères à la taille des objets Motif. (page pageref)

Caractéristiques Principales

Table des matières

1  MODE INTERACTIF
    1.1  MENU FILES
        1.1.1  FILES-> READ FILES
        1.1.2  FILES-> SAVE&RESTORE
        1.1.3  FILES-> PRINT PLOT
        1.1.4  FILES-> SURFACE&CONTOUR
        1.1.5  FILES-> EXPORT DATA
        1.1.6  FILES-> SAVE DEFAULTS
        1.1.7  FILES-> MISC
    1.2  MENU SETTINGS
        1.2.1  SETTINGS-> PLOT_SETTING
        1.2.2  SETTINGS-> PLOT_ANNOTATIONS
        1.2.3  SETTINGS-> EDIT_LEGEND
        1.2.4  SETTINGS-> EDIT_COLOR_SCALE
        1.2.5  SETTINGS-> AXIS_SETTING
        1.2.6  SETTINGS-> PAGE_SETTING
        1.2.7  SETTINGS-> ADD POLAR AXIS
        1.2.8  SETTINGS-> COLOR PALETTE
        1.2.9  ANNOTATIONS WINDOW
    1.3  MENU MATH
        1.3.1  MATH-> SMOOTH & FIT
        1.3.2  MATH-> FORMULA
        1.3.3  MATH-> FFT
        1.3.4  MATH-> STATISTICS
        1.3.5  MATH-> BUILD A SURFACE FROM X Y DATA
    1.4  MENU MISC
        1.4.1  MISC-> CLEAR WINDOW
        1.4.2  MISC-> NEW WINDOW
        1.4.3  MISC-> ANIMATION
    1.5  MENU DRAWING_AREA
        1.5.1  DRAWING_AREA-> ZOOM
        1.5.2  DRAWING_AREA-> SHOW VALUES
        1.5.3  DRAWING_AREA-> RESCALE
        1.5.4  DRAWING_AREA-> CLEAR AREA
        1.5.5  DRAWING_AREA-> EXTRACT VALUES
    1.6  MENU HELP
2  FICHIER DE COMMANDES
    2.1  FONCTIONNEMENT GENERAL
    2.2  OPTIONS DU FICHIER DE COMMANDE
        2.2.1  READ COMMAND
        2.2.2  PLOT SETTING
        2.2.3  AXES SETTING
        2.2.4  CIRCULAR DIAGRAM
        2.2.5  FITS COMMANDS
        2.2.6  MISC COMMANDS
        2.2.7  ISO CONTOURS
        2.2.8  PLOT ANNOTATION
        2.2.9  PAGE SETTING
        2.2.10  OUTPUT COMMANDS
    2.3  OPTIONS AND SPECIFICATIONS
    2.4  EXEMPLE
3  Appel à partir d'un programme
    3.1  Les appels de sous-programme
    3.2  Description détaillée
        3.2.1  Lancement du logiciel:
        3.2.2  Spécifications générales:
        3.2.3  Déterminer le tracé des axes:
        3.2.4  Envoyer les données à Mgraph:
        3.2.5  Envoyer une surface à Mgraph:
        3.2.6  Envoyer un titre ou une annotation à Mgraph:
        3.2.7  Faire une mise en page:
        3.2.8  Les sorties PostScript, Gif ou Tiff:
        3.2.9  Animation des graphes:
        3.2.10  Terminer la session:
    3.3  Exemples de programmes C:
    3.4  Exemples de programmes FORTRAN :
4  CGI
5  FAQ
A  Exemples de fichiers de commandes
B  Exemples de sorties graphiques

**********************************************************

Chapitre 1
MODE INTERACTIF


**********************************************************

Remarques préliminaires

FONCTIONNEMENT GENERAL

Dans les panels, utilisez le bouton de gauche de la souris pour sélectionner les options, activer les boutons ou pour pointer une position sur demande du logiciel.
Toute chaîne de caractères dans un éditeur peut être sélectionnée à l'aide du même bouton puis recopiée dans une autre fenêtre à l'aide du bouton central.


Dans une fenêtre de tracé:

==========================================================

1.1  MENU FILES

==========================================================

1.1.1  FILES->READ FILES

Mgraph_read.gif

Lecture simple


Sélection du fichier

Le fichier d'entrée est un fichier ASCII (ou binaire ou TIFF/GIF dans le cas d'un tracé de contours) contenant des nombres en colonnes séparés par des espaces, virgules ou tabulations. La procédure de lecture réalise un filtrage des données en sautant automatiquement les lignes contenant du texte et détermine le nombre de lignes et de colonnes à tracer.

Le répertoire de travail est montré dans l'éditeur en haut de la fenêtre. Vous pouvez taper directement un nouveau répertoire dans l'éditeur ou utiliser la souris pour naviguer dans l'arborescence des fichiers Unix.

Selection
Charge le contenu du répertoire indiqué.
..
Charge le répertoire directement supérieur.
$home
Charge votre répertoire principal.
$cwd
Charge le répertoire où Mgraph a été lancé.

Pour sélectionner un fichier vous pouvez taper son nom dans l'éditeur ``file'' ou cliquer sur son nom dans la liste des fichiers.
L'éditeur ``File name filter'' vous permet de placer en tête de liste tous les fichiers contenant la chaîne de caractère spécifiée.
ex:
vous tapez: vous obtenez en tête de liste:
*data tous les fichiers finissant par ``data''.
data* tous les fichiers commençant par ``data''.
*data* tous les fichiers ayant ``data'' dans leur nom.


Vous pouvez utiliser l'une des combinaisons suivantes:

Dans ce cas, les courbes s'ajoutent dans la fenêtre graphique.


L'option ``Keep curve setting'' permet de tracer les courbes avec les options définies par le précédent tracé, c'est à dire la couleur, les styles de ligne et de marqueur.
L'option ``Keep axis setting'' permet de tracer les courbes dans les limites d'axes précisées dans le précédent tracé. Afin de conserver ces limites pour des sessions ultérieures, il suffit d'activer l'option ``Files->Save defaults''.


Description du fichier

Si les champs de ``File description'' ne sont pas remplis, la première colonne est prise comme étant l'abscisse X et les colonnes suivantes comme différents jeux de coordonnées Y.
Si le fichier ne contient qu'une seule colonne, OU si le champ ``X column'' vaut zéro, les données de la colonne Y seront représentées en ordonnées et l'abcisse sera un incrément de 1 à n (nombre de points tracés).

En remplissant les éditeurs proposés vous pouvez:

Type des données

La sélection du type de courbe: menu ``Line plot''

Line plot Tracé sans marque; les points sont joints par une droite.
Scatter plot Les points sont représentés par des marques sans droite de liaison.
Error Bars X Le fichier est lu comme une séquence de (X, Y, Delta), où Delta est une erreur en X. Une barre horizontale de longueur 2*Delta centrée en X,Y sera tracée.
Error Bars Y Même tracé avec des verticales.
Step plot Le fichier est tracé en escalier (i.e. Pseudo histogramme). A chaque point une ligne horizontale est tracée au niveau Yn en partant d'un X = [(Xn+Xn-1)/2] jusqu'à X = [(Xn+Xn+1)/2].


Type de tracé

La sélection du mode de rangement des données: menu ``New set''

New Set Nouveau tracé.
Add mode Garde la présentation du tracé précédent et ajoute les nouvelles courbes.
Replace mode Garde la présentation du tracé et remplace les courbes par de nouvelles.
Merge mode Garde la présentation du tracé et rallonge les courbes existantes avec les nouveaux points.


Filtre sur les données

Column data filter

Un nouveau menu apparaît (Mgraph_column_data_read_filter) qui permet de filtrer les données de manière simple: Si plusieurs filtres sont demandés pour la même colonne, un OR exclusif est utilisé, pour des filtres sur plusieurs colonnes un AND est utilisé. Avant d'effectuer la lecture, il suffit de cliquer sur ``Analyze user filter editor'' pour valider le filtre.

Sélection du type de traitement

La sélection du traitement des données: menu ``Draw selected file''

Draw selected file (Cartesian) Tracé de fonctions simples y=f(x).
Draw selected file (Polar) Tracé de fonctions simples en coordonnées polaires
Compute histogram of selected file Trace l'histogramme des différentes colonnes du fichier. (voir page pageref)
Statistics of selected file Calcule et affiche des statistiques (Moyenne, écart type etc.) sur les différentes colonnes du fichier.
Digitalization Numérisation de courbes à partir d'images de scanner ou à partir d'images visualisées sur l'écran par tout autre logiciel (voir page pageref).
File preview Edite le fichier dans une fenêtre ``Mgraph_preview''.
Draw surface contours Ce menu permet de lire des surfaces dans différents formats (ASCII, binaire ou TIFF/GIF - voir ci-dessous) et réalise les interpolations permettant de calculer des isocontours et des projections. (voir page pageref)

Formats de fichiers proposés:
(Z) Regular grid
Fichier ASCII contenant les Z séparés par des espaces, des tabulations ou des virgules. Seul l'éditeur ``Number of columns'' est à préciser dans le cas où les données ne seraient pas rangées dans une ligne avec le même nombre de colonnes que l'image réelle.
(X Y Z) Regular or Irregular
Fichier ASCII contenant les X, Y et Z de la surface.
Binary 8 bit
Fichier binaire en octets: Le nombre de lignes et de colonnes sont à préciser.
Binary 16 bit
Fichier en mots entiers de 16 bits.
Binary 32 bit
Fichier en mots entiers de 32 bits.
Binary 32 bit float
Fichier en mots réels de 32 bits.
Tiff, Gif
Fichier en format normalisé.

L'option Signed n'est utilisée que pour les mots entiers. Si elle n'est pas validée, l'entier sera non signé.

2 éditeurs Cut values permettent de filtrer les valeurs lues.

2 éditeurs Stretch Z values permettent de modifier les valeurs de Z.

Build a surface from XY Data A partir d'un fichier ASCII contenant des données X et Y, Mgraph constitue une surface en divisant l'espace en boîtes de taille paramétrable et en calculant le pourcentage de points contenus par boîte.
Import a new lut Charge la base de l'utilisateur avec une nouvelle table de couleur. (Ces tables ne sont utilisées que par les programmes de contours). Deux formats sont décodés:

  • La table de couleur est définie par valeur de pixel (entre 0 et 255) avec ses composantes couleurs rouge, vert, bleu (Intensité entre 0 et 255).
  • La table est définie par niveaux de valeurs dans l'unité (Z) de la surface: niveau 1, niveau 2, puis les composantes couleurs R, G, B.

Draw arrows A partir d'un fichier ASCII, lecture de vecteurs caractérisés par leur origine (X et Y ), leur longueur (Rho), leur orientation (Theta) avec possibilité de moduler la taille de la flèche (Length and Arrow factor).


Si vous avez sélectionné un fichier, activez ``Apply''. Dans le cas d'une lecture simple, le résultat sera tracé dans la fenêtre active.


Lecture spécifique


Pour les options suivantes, de nouvelles fenêtres seront affichées:

Compute histogram of selected file


envoie le menu Mgraph_compute_histogram

Mgraph_compute_histogramme.gif

Vous pouvez définir le type de tracé, les limites de l'histogramme, la largeur des classes, les unités en Y. Attention! si vous modifiez les éditeurs ne pas oublier l'option ``Freeze editor values'' avant d'exécuter ``Apply'' pour éviter le calcul automatique des valeurs.

Digitalization


envoie le menu Mgraph_digitalizer

Mgraph_digitizer.gif

Si le fichier sélectionné est un fichier TIFF ou GIF, en activant ``Apply'', ce fichier sera lu et affiché dans la fenêtre de digitalisation. Sinon vous avez la possibilité en utilisant la fonction ``Grab image from display'' de prendre (``grab'') à l'aide de la souris une image (présentée par un autre logiciel comme ghostscript par exemple) sur votre écran. La fenêtre sous l'image vous affiche des messages d'informations et des directives.
N.B. L'image est présentée en noir et blanc. Vous pouvez passer en visualisation couleur en activant la touche ``Switch image (BW/Color)''

La digitalisation se passe en plusieurs étapes:

Présentation de l'image:
Cette étape est facultative. Les boutons sous l'image vous permettent d'agrandir la présentation ou d'en changer le sens. Ils peuvent être très utiles dans le cas d'une image provenant d'un scanner.

Définition des axes:
Cette étape est indispensable. Elle détermine les positions des axes. Il faut cliquer sur chacun des 3 boutons afin de repérer l'origine des axes et leurs extrémités en exécutant la directive affichée dans la fenêtre de dialogue. Puis si un axe est en logarithme, il faut positionner le bouton correspondant. Vous avez la possibilité de convertir les données qui seront digitalisées en coordonnées réelles en remplissant les éditeurs d'unités correspondants. Par défaut, les axes iront de 1 à 100.

Digitalisation proprement dite:
Après avoir cliqué sur ``Start digitalization'', la fenêtre de dialogue vous indique la procédure à suivre:
A l'aide de la souris, vous saisissez, point par point, les données de la courbe. A chaque clic, la fenêtre de dialogue affiche le numéro du point et sa position en x et y, ainsi que le facteur d'orthogonalité. Il suffit de cliquer sur ``Stop digitalization'' pour terminer la digitalisation.
Vous pouvez à tout moment utiliser le bouton ``Zoom'' pour agrandir une partie de la fenêtre ou utiliser le bouton ``Clear pixel area'' pour supprimer des points erronnés. Vous pouvez rentrer les points dans n'importe quel ordre, la courbe finale sera triée par x croissants.
Après l'action ``Stop digitalization'', la fenêtre de graphique est remplie avec la courbe saisie.
Si vous désirez digitaliser une nouvelle courbe et la superposer à la précédente, il faut recommencer l'opération ``Start digitalization''.

Validation:
Dans la fenêtre ``Mgraph_digitalizer'' apparaissent de nouveaux menus. Vous pouvez à ce moment là, choisir:
  • Smooth curve réalisation d'un moyennage de la courbe; l'éditeur ``Window size'' vous permet de fixer le nombre de points qui serviront à effectuer une moyenne glissante.
  • Resample curve ré-échantillonnage de la courbe; les éditeurs ``Xstart... Xstep'' vous permettent de replacer les coordonnées à une fréquence donnée.

Attention ! Le moyennage comme le ré-échantillonnage ne se font que sur la dernière courbe digitalisée.

File preview


envoie le menu ``Mgraph_preview''

Mgraph_preview.gif

Visualise le contenu du fichier dans une fenêtre et vous permet ensuite de sélectionner, à l'aide de la souris, une (plusieurs) partie(s) du fichier à tracer avec les options existant dans le menu principal du ``Read''

Draw surface contour


envoie les menus ``Mgraph_surface_view'' et ``Mgraph_surface_geometry''

Affiche la surface et permet de sélectionner les différents paramètres de tracé: voir plus loin le menu ``FILES->SURFACE & CONTOUR'' (§1.1.4).


Build a surface from XY Data


envoie, dans un premier temps, le menu ``Mgraph_compute_surface'' qui permet de paramétrer la taille des boîtes afin de calculer le pourcentage de points contenus par boîte puis les menus ``Mgraph_surface_view'' et ``Mgraph_surface_geometry''. voir plus loin le menu ``FILES->SURFACE & CONTOUR'' (§1.1.4).

Mgraph_compute_surface.gif

1.1.2  FILES->SAVE&RESTORE

Mgraph_save_rest.gif


L'utilisateur a la possibilité de gérer différents répertoires (``Main project name'') contenant à la fois des sauvegardes de tracés et des fichiers de gestion des mises en page réalisées dans une session. La liste des répertoires apparaît dans une fenêtre en haut à droite. Il suffit d'en sélectionner un pour qu'il devienne le répertoire de travail de Mgraph . Son contenu est alors affiché dans la fenêtre ``Main project plot files''. (Si un tracé est utilisé dans une présentation de page, il apparaît comme ayant un lien [lks: 1]. Voir également le menu ``Settings->Page setting'' (§1.2.6)). Pour créer un nouveau projet, il faut taper son nom dans l'éditeur et activer ``create new project''.


Options:

  • Si un tracé est présent dans la fenêtre principale, il suffit d'activer ``Save current plot in base'' pour le ranger dans la base; le titre du tracé devient alors le titre d'enregistrement. Si la courbe n'a pas de titre,elle sera enregistrée sous le nom ``Untitled''. Si son titre commence par le caractère @, elle sera enregistrée avec son titre mais celui-ci n'apparaîtra pas dans le graphique.
    N.B. Lors de la création d'une mise en page, les courbes associées sont automatiquement sauvées dans la base.

  • Si un tracé est sélectionné (en cliquant sur son nom dans la fenêtre ``Main project plot files''), un aperçu de la courbe apparaît ainsi que les options suivantes:

Delete all saved plots
détruit tous les tracés de la base.
Draw
Charge la fenêtre principale de tracé avec le contenu de la sauvegarde en prenant en compte l'option sélectionnée dans le menu ``New set''.

Delete
Détruit la sauvegarde sélectionnée.

Replace selected file with current plot
Permet de remplacer le tracé sauvegardé par le graphique contenu dans la fenêtre graphique active en conservant les liens avec les mises en page.

1.1.3  FILES->PRINT PLOT

Mgraph_print.gif

Ce menu permet d'imprimer un tracé ou de créer un fichier en format PostScript, à partir de la fenêtre de tracé ou à partir d'une présentation de page contenant plusieurs tracés.


Options:

Paper format
A4, A3, B5, US letter ou US legal.

Landscape
présentation en mode Portrait ou en mode Paysage si cette option est sélectionnée

Use page setting
Imprime la page courante créée par le menu ``Page setting'' (§1.2.6) si cette option est sélectionnée.

Number of copies
sélection du nombre de copies désirées.
Plot size
fixe la taille du graphe. Cette taille sera celle du côté le plus grand de la fenêtre X.
Square frame
la taille du graphe sera la même en X et en Y si cette option est sélectionnée.
Print type
Menu de sélection du type d'impression: couleur, noir et blanc ou niveaux de gris.

Round Line join
(Round ou Sharp) option de tracé des intersections de lignes en arrondi ou en pointe.

No logo
Permet d'ajouter ou de supprimer le logo du laboratoire à une position déterminée de la page (Par défaut: 1cm en X, 2.7 cm en Y).
Cette option ne s'utilise pas dans le cas d'un ``Page setting'' puisque ce dernier menu vous propose l'emplacement exact du logo.
Pour introduire votre logo personnel, il suffit de créer un Encapsulé PostScript et de modifier le fichier ~ /.Mgraph/MgraphDefaults en ajoutant une ligne du type:

LOGO_FILE /usr/my_directory/mylogo.eps

Remarque: De la même manière, vous pouvez introduire votre propre signature en bas à droite de la page en modifiant la ligne du fichier ~ /.Mgraph/MgraphDefaults:

taper ceci:pour obtenir:
SIGNATURE"L.O.A. Computer Team"Date + signature
SIGNATURE"  " (Espaces) Date
SIGNATURE"" (Vide) Rien

Send to printer
Utilise la commande définie dans l'éditeur ``Spooler shell'' pour imprimer le tracé.
L'éditeur ``Spooler shell'' contient votre commande d'impression sur une imprimante PostScript; elle peut être par exemple
lp -dPRINTER

Après avoir défini vos imprimantes, activez l'option ``Save defaults'' pour les sauvegarder.

Save as PostScript file
Crée un fichier contenant le tracé en format PostScript.

Save as Encapsulated PS file
Crée un fichier en format Encapsulated PostScript ce qui permet d'insérer le tracé dans un autre document (Word ou TeX par exemple).
Save settings as command file
Création d'un fichier de commandes le plus proche possible de la présentation réalisée (voir §2 Mgraph non interactif). Mgraph.com est le nom par défaut.

1.1.4  FILES->SURFACE&CONTOUR

Menu ``Contours''

Ce menu permet de traiter des surfaces et de réaliser les interpolations permettant de calculer des isocontours et des projections. Il ne peut être activé que si l'utilisateur a déjà chargé une surface à l'aide des menus ``Files->Read files->Draw surface contours'' ou ``Files->Save & restore->Draw''.

Les menus ``Mgraph_surface_view'' et ``Mgraph_surface_geometry'' apparaissent.

Mgraph_surface_view.gif

Mgraph_surface_view

Cette fenêtre permet la visualisation de la surface traitée. Sur la droite un histogramme des valeurs est tracé. Diverses options réalisent:

Drawing_area->Zoom Agrandissement d'une partie de l'image.
Drawing_area->Show values Affichage des données Z de la surface.
Drawing_area->Rescale Affichage de l'image originale
Color_palette-> Permet de colorier la surface avec une échelle prédéfinie.
Color_palette->User Lut Base Base de fichiers contenant des échelles de couleurs introduites par le menu Read Files ->Import a new LUT.
Color_palette->Grey scale etc.. Echelles de couleurs de base de Mgraph (description §1.2.8)
Objects->Clear all Efface toutes les options.
Objects->Draw triangles Visualise les triangles utilisés dans les interpolations.
Objects->Draw region Visualise les régions séparant les points réels des points indéterminés définis ou introduits par les options ``Undefined value'' ou ``X Y Z irregular grid'' du menu de lecture.
Objects->Draw points Visualisation des points de mesures.
Objects->Draw all Visualise toutes les options.


Mgraph_surface_geometry.gif

Mgraph_surface_geometry

permet de modifier:

  • Le nombre de points d'interpolation: les éditeurs ``Lines'' et ``Columns''.
  • Le rapport largeur/hauteur de l'image: ``X/Y Ratio''.
  • La distance relative (1 en implicite) à partir de laquelle 2 triangles sont disjoints.
  • Les échelles réelles de X et Y de l'image: ``X Min... Y Max''.

  • Il permet de sélectionner le mode d'interpolation. Si votre image représente des classes de valeurs ayant une échelle de couleur non linéaire, il faut utiliser l'option ``Nearest pixel interpolation''.

  • Add objects (Surface, Region, Dots, Triangles)
    Ce menu permet d'incruster au graphique la surface, le contour des régions dans le cas d'une surface non régulière, les triangles utilisés dans les interpolations et les points de mesures.

Si vous activez l'option ``Apply'', l'image est chargée dans la fenêtre de tracé.
Si vous activez ``Show contour panel'', la fenêtre Mgraph_contour apparaît qui permet de tracer des isocontours (détaillé ci-dessous).
Si vous activez l'option ``Show perspective panel'',le menu Mgraph_3D_view apparaît qui permet de tracer dans la fenêtre graphique une vue en 3 dimensions (voir §1.1.4).

Mgraph_contour.gif

Mgraph_contour
(appelé par le précédent menu: Mgraph_surface_geometry)

Ce menu permet de tracer des isocontours. Dès son ouverture le logiciel prédétermine quelques valeurs de contours à tracer. Un ``Apply'' suffit pour lancer le calcul et voir apparaître les courbes dont la présentation peut être modifiée dans le menu ``Settings->Plot settings''.

Choix des isocontours:

Pour entrer sa propre liste de valeurs il faut:

  • Sélectionner à la souris l'ensemble des lignes de l'éditeur ``Isoline values'' puis taper ``Backspace'' ou la touche ``espace'' sur le clavier.
  • Dans l'éditeur, qui est maintenant vide, taper une liste de valeurs séparées par des espaces ou utiliser les éditeurs du menu ``Add isolines'' qui génère une boucle sur des valeurs introduites avec soit un nombre d'intervalles (éditeur ``inter. Nb''), soit un pas réel (éditeur ``Z step'').

Présentation des tracés:

Les options de tracé sont déterminées par les différents menus Isoline plot style. Si l'option Current color est choisie, les couleurs sont prédéterminées par le logiciel.

Modification des options de tracé d'un ou de plusieurs isocontours de la liste:

sélectionner les lignes de valeur à la souris puis sélectionner dans les différents menus les options de tracés (couleur, type de ligne, marqueur, tracé d'un label) puis activer ``Apply new style''... les paramètres sont modifiés dans l'éditeur.
Si les isocontours sont dessinés avec des options de tracé Label vous pouvez, en utilisant les menus du Label plot style en changer les présentations (taille, couleur, fond, distance entre 2 labels).

Les modifications apparaissent en activant l'``Apply'' principal du menu.

Menu Surface set stretch

Image data values
Où Zmin, Zmax sont les bornes minimale et maximale Z de la surface. Cet intervalle sera découpé en 256 niveaux de couleurs. Les valeurs hors des bornes seront affectées aux couleurs extrêmes de la table de couleur.

LUT values
Où FirstLevel, LastLevel sont les bornes minimale et maximale (entre 0 et 255) de la table de couleur qui seront utilisées pour le découpage des niveaux V1 V2.

Color scale stretch
Où Min=0 Max=0 (0->255) sont les bornes de la table de couleur à tracer. Elles permettent de mettre en exergue une partie de la table de couleur utilisée.

Menu Surface perspective

Mgraph_3D_view.gif

Ce menu permet de tracer une représentation 3D de la surface présente dans la fenêtre graphique.
La fenêtre Mgraph_3D_view permet de visualiser la surface qui sera tracée dans la fenêtre graphique lors de l'activation du bouton ``Apply to main window''.

Show 3D
projette dans la fenêtre Mgraph_3D_view la surface en 3D selon les paramètres fixés. Cette fonction est directement liée à la fenêtre principale: Si vous appliquez un ``zoom'' sur la surface 2D, il sera également appliqué à la surface 3D.
Up/Down - Right/Left
fixent les angles de projection.
Ground level
fixe le niveau de l'origine (les Z min et max sont affichés à gauche de l'éditeur).
Add:
permet d'ajouter ou d'effacer dans la fenêtre principale les objets suivants:
  • la surface en 3D
  • la surface en 2D projetée en haut ou en bas.
  • des grilles dont on peut modifier la taille et l'épaisseur.
  • les courbes, tracées en 2D, projetés en haut ou en bas.

pour chacun de ces ajouts, cliquer ensuite sur ``Apply to main window''.

2 ascenceurs permettent également de modifier l'amplitude du 3D et sa position dans la fenêtre (cliquer sur ``Show 3D'' pour en constater les effets).

Menu Surface perspective clear

Ce menu permet de repasser en mode 2D. Il faut obligatoirement effacer la configuration 3D pour pouvoir passer à la lecture d'une nouvelle courbe.

1.1.5  FILES->EXPORT DATA

Create a .com file

Création d'un fichier de commandes le plus proche possible de la présentation réalisée (qu'il s'agisse d'un graphe simple ou d'une mise en page). Il permettra l'utilisation de Mgraph en mode non interactif (voir §2).

Create a EPS file

Cette option permet de créer un fichier en Encapsulé PostScript afin d'insérer le tracé dans un autre document.

Data to file

Création d'un fichier ASCII contenant les coordonnées des différentes courbes visualisées. Vous pouvez relire directement ce fichier avec Mgraph (menu Files->ReadFiles) pour régénérer des tracés.
Le mot Break permet de rompre la continuité d'une courbe (tracé de fond de cartes par exemple).
Le mot NewCurve permet de changer de courbe.
Une ligne CURVE NUMBER: .... sépare les différents tracés; elle est automatiquement sautée par le logiciel à la relecture.
Options:


    * Sélection à la souris de la zone à extraire dans la fenêtre graphique.
    * Sélection du type de données à extraire: Soit les courbes proprement dites, soit les données de surface.
    * Data preview: affichage des données qui seront inscrites dans le fichier. Cette option n'est valide que dans le cas d'extraction de données sur des courbes.

``Create new file'' exécute l'extraction.

Plot to tiff / Plot to gif

Création d'un fichier (drawing est le nom par défaut) en format TIFF ou GIF représentant la fenêtre de tracé. Cette image sera utilisable par les différents logiciels de visualisation ou par des convertisseurs de format.

1.1.6  FILES->SAVE DEFAULTS

Un fichier `` ~ /.Mgraph/MgraphDefaults'' contient vos options préférées:

  • Position et type de Logo
    LOGO_FILE Myfile.eps
    LOGO_POSX 1
    LOGO_POSY 2.7
    LOGO_SCAX 0.14
    LOGO_SCAY 0.14
  • Signature
    SetSignature "My signature"
  • type et limites des axes
  • type d'impression
  • type des courbes

Il vous permet donc de sauvegarder votre configuration à un moment donné pour les sessions suivantes.

1.1.7  FILES->MISC

  • Project Data Base Recovery
    permet la reconstruction de la base de sauvegarde en cas d'ennuis majeurs comme une coupure système ou un dépassement de quotas ayant occasionné une mauvaise écriture sur disque

  • Users stats
    statistique d'utilisation des différents menus de Mgraph 

==========================================================

1.2  MENU SETTINGS

==========================================================

1.2.1  SETTINGS->PLOT_SETTING

Mgraph_plot_setting.gif

Ce menu permet de caractériser chacune des courbes visualisées et de modifier quelques fonctions principales de présentation.

Plot mode

Ces options permettent, avec effet immédiat sur la visualisation, de mettre (ou non) des grilles, des labels, une légende, 2 axes ou 4 (``No Frame'') et la surface (``No Background'').

Plot title

Mise en forme du titre; ce menu peut également être appelé en cliquant simplement sur le titre.

Curve style

En activant l'option Overlap, les courbes sont présentées ensemble, ce qui permet de modifier en une seule action les paramètres de type:

  • couleur de courbe
  • type de ligne
  • type de marqueur

Si l'option Overlap est désactivée, les courbes vous seront présentées une par une, et vous pourrez alors modifier le type de la courbe, comme précédemment, mais aussi masquer ou supprimer une courbe.

1.2.2  SETTINGS->PLOT_ANNOTATIONS

Mgraph_plot_annot.gif

Ce menu permet d'annoter l'ensemble de la fenêtre graphique.
La fenêtre graphique peut être vide de courbe; voir son utilité ci-dessous §1.2.9.
Les différents ajouts possibles sont:
texte, marqueur, ligne, boîte, flèche et tracé d'axe supplémentaire.

Pour chacune de ces annotations, le choix vous est offert:

  • soit les lier au graphique en coordonnées réelles,
  • soit les attacher au graphe lui-même.

Pour chacune, il suffit de sélectionner la couleur et le type.

Dans le cas d'annotations multiples, vous avez la possibilité de conserver le positionnement en X ou en Y. Il suffit ensuite d'ajouter la sélection (touche ``Add'') et de la positionner à l'aide de la souris dans la fenêtre graphique.
La touche ``Replace'' permet de repositionner l'annotation;
la touche ``Redraw'' permet de redessiner l'annotation sans avoir à la repositionner;
la touche ``Delete'' permet de supprimer l'annotation.
(Voir également au chapitre F.A.Q §3.4 le codage des chaînes de caractères.)


L'annotation ``Extra axis'' permet soit de dessiner un axe supplémentaire, soit de remplacer un des axes existants par un nouvel axe totalement indépendant des limites de la courbe.
Les éditeurs se présentent comme dans le menu des axes. La valeur du ``mini'' peut être supérieure au ``maxi''; pour un axe tracé à la souris, le ``mini'' se trouvera au premier point cliqué. (Voir les exemples dans F.A.Q [3.4])
En activant la touche ``Free labels'', on pourra étiqueter les axes par une liste donnée:
Cette liste se compose d'une valeur sur l'axe, suivie soit d'un texte entre guillemets, soit d'une valeur indépendante qui sera écrite à travers le format proposé.

Quand des annotations sont créées, vous pouvez appeler directement ce menu en cliquant sur une annotation.

1.2.3  SETTINGS->EDIT_LEGEND

Mgraph_plot_legend.gif

Quand ce menu est appelé, la légende est visualisée dans le coin haut gauche du tracé. Chaque courbe est représentée (sauf les courbes masquées - voir menu ``Plot Setting'' [1.2.1]). Vous pouvez annoter chaque légende, orienter les textes, masquer une légende. La touche ``move legend'' permet à la fois de positionner la légende et d'en fixer la taille.

1.2.4  SETTINGS->EDIT_COLOR_SCALE

Ce menu permet d'ajouter une échelle couleur dans la fenêtre graphique.
La fenêtre graphique peut être vide de surface; voir son utilité ci-dessous (§1.2.9).

Deux types d'échelle couleur vous sont proposés:

Draw a linear color scale

L'appel de cette option vous permet de tracer rapidement une échelle linéaire de couleurs

  • Add labels to the linear color scale
    L'appel de ce menu vous permet de fixer, pour un certain nombre de valeurs de pixels, une étiquette associée: cette étiquette peut être, soit la valeur du point écrite à travers le format proposé, soit un texte encadré de guillemets ("). Vous pouvez également choisir de visualiser ou non une échelle graduée (option ``No ticks drawing''). L'option ``Replace'' redessine l'échelle, l'option ``Apply'' permet de la (re-)positionner sur le graphe.

  • Clear the linear color scale
    Cette option permet d'effacer l'échelle linéaire.

Build the color scale with boxes

Mgraph_color_scale_edit.gif

Ce menu permet de représenter des valeurs données à l'aide de carrés colorés. Comme pour l'échelle linéaire, le choix est donné entre la représentation en nombre et la représentation par un texte. L'option ``No ticks drawing'' permet cette fois de coller ou non les boîtes entre elles. L'option ``Redraw'' redessine l'échelle, l'option ``Apply'' permet de la (re-)positionner sur le graphe.

  • Clear the color scale with boxes
    Cette option permet d'effacer l'échelle en classes.

Clear all colorscale

Cette option permet d'effacer les échelles de couleur.

1.2.5  SETTINGS->AXIS_SETTING

Mgraph_axis.gif

Ce menu peut également être appelé en cliquant en bas à gauche des axes (c'est à dire l'origine). Le menu concernant chacun des axes peut être appelé en cliquant au centre de l'axe. Pour chaque axe les éditeurs permettent de fixer:

  • Title:
    le titre et sa hauteur (facteur multiplicatif) (Voir au chapitre F.A.Q (§3.4) le codage des chaînes de caractères.)
  • Mini Maxi:
    le minimum et le maximum; le minimum doit être plus petit que le maximum; si vous voulez tracer un axe décroissant (cas des pressions atmosphériques, par ex) il faudra passer par un axe calculé (voir F.A.Q §3.4).
  • Label:
    La hauteur et l'angle que font les labels avec l'axe.
    Le format des labels (facteur multiplicatif).
    La formulation est celle du langage C: %[.précision]conversion
    précision:nombre de décimales pour les formats f, e et E
    nombre de chiffres pour les formats g et G (6 par défaut)
    conversion: g notation universelle (i.e. d, f ou e)
    G notation universelle (i.e. d, f ou E)
    f notation décimale (i.e. '[-]dddd.ddd')
    e notation exponentielle (i.e. '[-]d.ddde+dd')
    E notation exponentielle (i.e. '[-]d.dddE+dd')

    exemple:
    12.65978 %g Þ 12.6598
    %f Þ 12.659780
    %.3f Þ 12.660
    %.2e Þ 1.27e+01
    %.0f Þ 13
    %+.1f Þ +12.7
    12.00 %g Þ 12

  • label step:
    nombre entier qui représente le pas d'écriture des labels.
  • Tick X step:
    intervalle de base pour le tracé des grilles dans l'unité de l'axe.
  • Ref. Value:
    une valeur de référence qui oblige l'écriture d'un label à cette valeur.

  • Scale to frame:
    permet de limiter les axes aux vrais minimum et maximum alors que par défaut une extension de 10% est appliquée pour une meilleure présentation.
  • Free labels permet d'étiqueter les axes par une liste donnée:
    Cette liste se compose d'une valeur sur l'axe, suivie soit d'un texte entre guillemets, soit d'une valeur indépendante qui sera écrite à travers le format proposé.

Vous pouvez ne pas afficher les labels (``No X-label''), dessiner des tics sur les axes ou des grilles (standard ou demi-teintes) (``Std grid'').
Vous pouvez également supprimer un axe (``No axis'').

Plusieurs types d'axe sont proposés: linéaire, logarithmique, étalonné en heure:minute ou en degrés décimaux mais également transformé par une équation.

Dans ce dernier cas, les données ne sont en aucun cas altérées, seule leur présentation est modifiée. Il suffit de taper une formule dans l'éditeur principal. Cette formule sera sauvegardée et une liste d'équation sera créée (présentée dans le panneau ``Mgraph_formula_list''). Vous pouvez ajuster le domaine de projection pour éviter par exemple les divisions par zéro. Pour plus de précisions, lire 1.3.2 le menu ``Math->Formula''

Pour chacun des axes, vous pouvez définir l'épaisseur du trait et sa couleur.

1.2.6  SETTINGS->PAGE_SETTING

Mgraph_page_setting.gif Mgraph_page_view.gif

Ce menu vous permet de mettre en forme, de manière interactive, une présentation des graphes sur une page.
Les présentations sont sauvegardées dans la même base que les graphes (voir ``Files ->Save&Restore'' §1.1.2).

  • type de page
    Choix du sens de la page (Landscape page) et du format du papier: (A4, A3 etc.)

  • création des cellules
    Il faut définir des cellules sur la page virtuelle qui vous est présentée dans la fenêtre ``Mgraph_page_view''. Les coordonnées des cellules sont données en centimètres ou en inch, l'origine étant le coin haut/gauche de la page: soit vous remplissez les éditeurs avec les positions, soit, en activant ``Fill with mouse'', vous tracez la cellule à l'aide de la souris (vous pourrez ensuite ajuster les valeurs dans les éditeurs). Puis en activant ``Create new cell'', la cellule sera représentée sur la page virtuelle. Vous pouvez créer de cette manière jusqu'à 36 cellules sur une page.

  • attachement des graphes
    Vous pouvez remplir la cellule soit avec le graphe présent dans la fenêtre principale, soit avec un graphe sauvé dans la base; dans ce dernier cas, il suffit de cliquer sur le graphe correspondant dans la liste affichée. Un aperçu du graphe vous est présenté. Vous pouvez chercher un graphe dans l'ensemble des projets mais la sauvegarde de la page se fera dans le projet affiché: ``Main project name'' (pour en changer, cliquer sur ``Select a new main project''). Après votre choix, cliquez sur ``Fill cell(selected plot)''.
    Vous pouvez changer le sens de présentation à l'intérieur de la cellule ( ``Landscape''). Les dimensions de la cellule peuvent correspondre à l'ensemble du graphe ou, en sélectionnant ``fit frame'', à l'espace délimité par les axes. Ces 2 options sont visualisées immédiatement.

  • présentation de la page
    Votre logo peut être positionné sur la page.
    Vous pouvez annoter la page de textes, lignes ou boîtes. Pour cela, activez l'option ``Page annotation''.

Menu Page annotation

Mgraph_page_annot.gif

Chacune des annotations de page peut être positionnée à l'aide de la souris (Create with mouse) ou directement en remplissant les éditeurs. Les touches ``Add'', ``Replace'' et ``Delete'' visualisent l'effet immédiatement sur la page.
(Voir au chapitre F.A.Q (§3.4) le codage des chaînes de caractères.)

Pour imprimer la page ainsi constituée, il suffit d'activer le menu ``Files->Print plot''. La fonction ``Use page setting'' doit être activée.

La page ainsi réalisée peut être exportée sous forme de fichier de commandes pour une production automatique.

1.2.7  SETTINGS->ADD POLAR AXIS

Mgraph_circular.gif

Ce menu permet de remplacer les axes par un diagramme formé de cercles et de rayons. Les options permettent de définir:

Delta Theta Pas des cercles en degré.
Delta radiusPas des cercles en unité du rayon principal.
Theta list Liste à choix libre des cercles à tracer en degré.
Radius listListe à choix libre des cercles à tracer en unité du rayon principal.
Delta phiPas des rayons en degré.
Phi list Liste à choix libre des rayons à tracer en degré.
Upper viewVue de la sphère par-dessus.
Left side rightL'origine des rayons est à gauche ou à droite.
Clock wize Tracé des rayons dans le sens des aiguilles d'une montre.
Axis formula Projection utilisant les équations introduites dans la définition des axes.


Puis les différents paramètres de tracé des labels sur les cercles et les rayons (couleur, taille et position).
La fenêtre graphique peut être vide de courbe; voir son utilité ci-dessous (§1.2.9).

1.2.8  SETTINGS->COLOR PALETTE

User LUT base:

A partir de la base de l'utilisateur ( ~ /.Mgraph/USER_LUTS), ce menu charge une nouvelle table de couleur. En cliquant sur le fichier, son contenu sera affiché dans la fenêtre de droite. Les lignes du fichier commençant par le caractère # seront considérées comme des commentaires.

Mgraph_lut_base.gif Mgraph_lut_base2.gif

Deux formats sont décodés:

  • La table de couleur est définie par valeur de pixel (entre 0 et 255) avec ses composantes couleur rouge, vert, bleu (Intensité entre 0 et 255).
  • La table est définie par niveaux de valeurs dans l'unité (Z) de la surface: niveau 1, niveau 2, puis les composantes couleur R, V, B.

Mgraph LUT:

scale.gif

1.2.9  ANNOTATIONS WINDOW

Mgraph offre la possibilité de créer une fenêtre SANS COURBE NI SURFACE, dans laquelle il vous sera possible d'ajouter des annotations, une échelle de couleur, un diagramme circulaire.
Ceci est notamment utile lors de l'utilisation d'un ``Page setting'' (§1.2.6) afin, par exemple, de présenter une échelle couleur commune à plusieurs images contenues dans différentes cellules.
Cette fenêtre pourra être sauvegardée comme les fenêtres graphiques classiques. Elle sera enregistrée sous le nom ``@Annotation window''.
Son échelle est définie par le logiciel comme allant de 0. à 1. en X et en Y.

==========================================================

1.3  MENU MATH

==========================================================

1.3.1  MATH->SMOOTH & FIT

Mgraph_smooth.gif Mgraph_mam.gif

Les options suivantes sont communes à l'ensemble de ces sous-menus:
La régression se fait en y = f(x) par défaut mais vous pouvez choisir x = f(y).
Vous pouvez aussi choisir de faire une régression sur l'ensemble des courbes (par défaut, elle est faite courbe par courbe).
Vous pouvez choisir l'intervalle de fit (par défaut, l'ensemble visible du domaine des abscisses ou des ordonnées si l'option x = f(y) a été choisie).
Les courbes de régression peuvent être ajoutées aux courbes originales ou les remplacer.

  • Polynomial regression
    Pour une régression polynomiale, vous pouvez sélectionner l'ordre du polynôme et le nombre de points en sortie ou l'intervalle en x. Après l'activation du bouton ``Apply'', les résultats sont affichés dans la fenêtre du menu. Vous pouvez les visualiser avec les ascenseurs; vous pouvez également les saisir à l'aide de la souris afin de les récupérer, par exemple, dans le menu ``Settings->Plot annotation'' pour les imprimer avec la courbe.

  • Smooth
    Pour moyenner la courbe, vous pouvez choisir le nombre de points servant à la moyenne glissante.

  • Bezier Smooth

  • Spline
    Vous pouvez sélectionner le nombre de points en sortie ou l'intervalle en x.

  • More advanced fit method
    Un nouveau menu s'affiche: ``Mgraph_mam''
    Vous pouvez approximer vos courbes avec une équation paramétrée du style Y = f(X, p1... pn). La syntaxe est identique à celle du menu ``Math->Formula'' (voir ci-dessous). Vous pouvez utiliser les opérateurs et les fonctions mathématiques standard. La dénomination des paramètres est arbitraire.
    L'algorithme utilisé est une recherche de convergence itérative (Levenberg Marquardt). L'itération se termine lorsque l'erreur relative sur chaque paramètre et/ou l'erreur relative entre l'approximation et les points de données est plus petite que l'erreur permise que vous avez spécifiée dans l'éditeur correspondant.
    Vous pouvez arrêter le processus à tout moment en utilisant le bouton ``Terminate fit loop''. En cas de non-convergence, vous pouvez spécifier les conditions initiales de chacun des paramètres (par défaut égal à 1), par exemple a = -1, b = 2.
    Vous pouvez également indiquer le nombre de points en sortie.

1.3.2  MATH->FORMULA

Mgraph_formula.gif

Ce menu permet d'exécuter des opérations sur les courbes. Les opérandes sont xN et yN (où N est le numéro de la courbe), 'pi' et 'x' pour utiliser les éditeurs du domaine X.
Les opérateurs sont: ' = ' , '+' , '-' , '*' , '/', '%', '**', '(', ')', '&' (and), '|' (or), '^' (xor).
Les fonctions sont les fonctions mathématiques standard (Voir plus loin ``Options and Specifications'' §2.3). rnd() génère un nombre aléatoire compris entre 0 et 1.

Vous pouvez générer de nouvelles courbes en remplissant les éditeurs X domain:
exemple: y = sin(x) avec Xstart = 0, Xend = 3.14 et Number of points = 100 puis ``Apply'' vous créera une nouvelle courbe sinusoïdale.

Vous pouvez, de la même manière, ré-échantillonner une courbe existante en tapant dans l'éditeur d'équation: x1 = x1 et en remplissant les éditeurs X domain.

Toutes les équations que vous aurez tapées sont sauvées et vous sont présentées partout où vous utiliserez une formule mathématique. Il vous suffira ainsi de sélectionner à l'aide de la souris la ligne désirée et de la placer dans l'éditeur.

1.3.3  MATH->FFT

Mgraph_fft.gif

La transformée de Fourier vous permet de filtrer une courbe, en calculant les fréquences les plus significatives. Chaque composante est affichée avec le coefficient de corrélation calculé entre la donnée et la FFT inverse en supprimant cette fréquence.
Ce menu vous permet également de supprimer une composante, soit en utilisant comme filtre la corrélation (Reduce spectrum), soit fréquence par fréquence (Delete a component). A chaque étape, le signal inverse est reconstitué et vous pouvez le comparer à la courbe d'origine.

1.3.4  MATH->STATISTICS

Mgraph_stats.gif

Ce menu vous présente les calculs statistiques (moyenne, déviation standard, etc.) effectués sur les courbes visibles dans la fenêtre graphique.

1.3.5  MATH->BUILD A SURFACE FROM X Y DATA

Ce menu vous permet de construire une surface à partir des données en mémoire en divisant l'espace en boîtes de taille paramétrable et en calculant le pourcentage de points contenus par boîte (Voir à ce sujet le paragraphe 1.1.1).

==========================================================

1.4  MENU MISC

==========================================================

1.4.1  MISC->CLEAR WINDOW

Ce menu permet d'initialiser la fenêtre principale ``Mgraph_plot_window''. Toutes les courbes seront effacées.

1.4.2  MISC->NEW WINDOW

Ce menu permet de créer une nouvelle fenêtre graphique indépendante de la première. Vous pouvez ouvrir ainsi jusqu'à 10 fenêtres simultanément. Le petit carré rouge en haut/gauche de la fenêtre vous indique laquelle est active. Attention ! Quitter Mgraph revient à quitter toutes les fenêtres ouvertes simultanément.

1.4.3  MISC->ANIMATION

Mgraph_anim.gif

Ce menu permet d'animer les courbes tracées dans la fenêtre principale. Vous avez la possibilité d'ajouter un délai entre chaque courbe et de tracer avec un pas sur les données pour accélérer le mouvement.

==========================================================

1.5  MENU DRAWING_AREA

==========================================================

1.5.1  DRAWING_AREA->ZOOM

Permet d'agrandir la zone visualisée à l'aide du bouton droit de la souris. Le ``zoom'' est également appelé à partir du petit carré rouge en haut/gauche de la fenêtre graphique.

1.5.2  DRAWING_AREA->SHOW VALUES

Permet de voir les coordonnées des points. Pour en sortir, cliquez sur le bouton gauche de la souris.

1.5.3  DRAWING_AREA->RESCALE

Permet de redessiner la(les) courbe(s) avec le maximum d'amplitude. Cette fonction revient à utiliser les valeurs par défaut du menu ``Settings->Axis setting''. Cette fonction peut également être appelée en cliquant dans le petit carré vert en haut/gauche de la fenêtre graphique.

1.5.4  DRAWING_AREA->CLEAR AREA

Permet d'effacer un ensemble de points. Attention ! Le carré de sélection doit être suffisamment grand. Si vous désirez supprimer un seul point, par exemple, il vous faudra peut-être agrandir la zone (``zoom'') avant de choisir ``Clear area''.

1.5.5  DRAWING_AREA->EXTRACT VALUES

Permet de stocker dans un fichier des points relevés à l'aide de la souris. Le nom du fichier par défaut est ``values.data''. Ce nom s'incrémente avec chaque activation de la fonction: values01.data, values02.data etc.
Le fichier est en format ASCII sous forme de 2 colonnes (abscisse, ordonnée).
Dès l'appel de la touche ``Apply'', une fenêtre apparaît affichant les coordonnées. En cliquant sur le bouton gauche de la souris, le point correspondant sera enregistré. Pour en sortir, cliquez sur le bouton droit de la souris.

==========================================================

1.6  MENU HELP

==========================================================

Aide en ligne, menu par menu , en français ou en anglais.

**********************************************************

Chapitre 2
FICHIER DE COMMANDES

MGRAPH.COM


**********************************************************

2.1  FONCTIONNEMENT GENERAL

Dans ce mode les graphiques sont générés sans visualisation et de manière automatique. N.B. Mgraph en mode interactif permet de créer automatiquement (à partir de la fenêtre graphique, mais aussi à partir d'une présentation complexe de page) un fichier de commandes qu'il suffit ensuite de modifier si besoin est.

La commande peut être :
Mgraph fich1.com
ou
Mgraph fich1.com fich2.com etc.

Une option Mgraph -show fich1.com peut être utilisée ; dans ce cas, après avoir exécuté l'ensemble du fichier de commande, la version Motif du logiciel est lancée et le dernier graphique apparaît dans la fenêtre de tracé.

Un fichier de commande peut être paramétré très simplement en utilisant un système d'alias (mot libre précédé du caractère @) permettant de remplacer tout ou partie de la commande par une ligne introduite dans un fichier de données.

Ex: dans le fichier de commande aa.com nous avons :

		Verbose
		SetAlias
		ReadFile      File="./data" 
		PlotTitle     Title="@TITLE"  Height=1.20
		@STYLE
		etc.
Dans le fichier de données data nous avons :
		@TITLE  Donn\'ees du 12-10-97
		@STYLE LineStyle Curve=1 Style=MicroDash Color=Red Thickness=2
		0 	0
		100 	-1
		150 	1
		etc.
Le fichier de commandes réellement exécuté sera
		Verbose
		SetAlias
		ReadFile      File="./data" 
		PlotTitle     Title="Donn\'ees du 12-10-97"   Height=1.20
		LineStyle     Curve=1  Style=MicroDash  Color=Red   Thickness=2
		etc.

2.2  OPTIONS DU FICHIER DE COMMANDE

# Ce caractère permet de commenter une ligne de fichier.
| Ce caractère indique un choix d'option.
[  ] Ces caractères signalent une option facultative.
\ Ce caractère signale que la ligne suivante est la suite de cette ligne.


Verbose Cette option imprime les lignes de commandes telles qu'elles ont été interprétées.
SetAlias Lance l'analyse et la recherche de paramètres introduits dans les fichiers de données ASCII.
SetUnit INCH| CM

Passe les unités des dimensions et coordonnées en inch au lieu des cm (option par défaut).

SetPaper A4 | A3 | B5 | USLETTER | USLEGAL
AddLogo [ FILE="filename"] XSTART= YSTART= XSCALE= YSCALE=

Filename est le nom du fichier Encapsulé PostScript contenant le logo.

SetSignature "texte de la signature"

Permet l'ajout de la date et d'une signature (texte) sur la page imprimée.

WindowSize WIDTH= HEIGHT=

Spécifie la géométrie de la fenêtre de tracé. Cette option n'est validée que si l'option -show est utilisée dans la commande de lancement.

LineJoin ROUND| SHARP

Représente la manière dont 2 segments sont joints; par défaut, les deux lignes forment un angle ; en choisissant cette option, l'angle sera arrondi.

AnnotationWindow cette option signifie que la cellule créée pourra ne contenir ni courbe ni surface. Elle permet ainsi de dessiner dans cette cellule des annotations, une échelle de couleur ou un diagramme circulaire

2.2.1  READ COMMAND

ReadFile FILE="FileName" MODE=Cartesian | Polar

STYLE=LinePlot|ScatterPlot|ErrorBarsX|ErrorBarsY|Stepplot

[ NCOLUMNS=-1 XCOLUMN=-1 YCOLUMN=-1 NLINES=-1 ]

[ ERRORCOLUMN=-1 LINESTOSKIP=-1 UNDEFVALUE=-1 ]

Statistics FILE="FileName"

[ NCOLUMNS=-1 XCOLUMN=-1 YCOLUMN=-1 NLINES=-1 ]

[ LINESTOSKIP=-1 UNDEFVALUE=-1 ]

Histogram FILE="FileName" STYLE= Steps|Bars|BarsWithGap

MODE=Normal|Cumulative YUNIT=Density|PerCent

[ NCOLUMNS=-1 YCOLUMN=-1 NLINES=-1 ]

[ LINESTOSKIP=-1 UNDEFVALUE=-1 ]

[ XMIN=-1 XMAX=-1 CLASSSIZE=-1 ]

ReadBinFile FILE="FileName"

DATATYPE=8bit | 8bitsigned | 16bit | 16bitsigned | Integer | Float

STYLE=LinePlot|ScatterPlot|ErrorBarsX|ErrorBarsY|Stepplot

NCOLUMNS=-1 XCOLUMN=-1 COLUMN=-1 NLINES=-1

[ ERRORCOLUMN=-1 LINESTOSKIP=-1 UNDEFVALUE=-1 ]

ReadSurface FILE="FileName" MODE=Regular | Irregular

[ NCOLUMNS=-1 NLINES=-1

LINESTOSKIP=-1 UNDEFVALUE=-1]

[ DISTANCEFACTOR=-1 ZMIN=-1 ZMAX=-1 ]

ReadBinSurface FILE="FileName"

DATATYPE=8bit | 8bitsigned | 16bit | 16bitsigned | Integer | Float

NCOLUMNS=-1 NLINES=-1

[ UNDEFVALUE=-1 DISTANCEFACTOR=-1]

[ ZMIN=-1 ZMAX=-1 ]

ReadXYandBuildSurface FILE="FileName"

NCOLUMNS=-1 NLINES=-1 XCOLUMN=-1 YCOLUMN=-1

XMIN=-1 XMAX=-1 XSTEP= -1

YMIN=-1 YMAX=-1 YSTEP=-1

[ LINESTOSKIP=-1 UNDEFVALUE= -1 ]

ReadArrows FILE="FileName"

NCOLUMNS=-1 XCOLUMN=-1 YCOLUMN=-1

NLINES=-1 LINESTOSKIP=-1

RHOCOLUMN=-1 THETACOLUMN=-1

LENGTHFACTOR=-1 ARROWFACTOR=-1

ReadFile FILE="DATABLOCK nom_du_bloc" etc...
permet de tracer des données sans passer par un fichier. Ces données seront placées dans le fichier de commande lui-même (au début ou à la fin du fichier). La délimitation du bloc est donnée par:
DATABLOCK nom_du_bloc << pour marquer le début du bloc de données
>> pour marquer la fin du bloc de données
exemple:

DataBlock nom_du_bloc1 <<
28222 0.038797 31393 0.014833 33194 -0.03001 37694 -0.027402
39513 -0.013366 43993 0.019358 44893 0.240929 45793 0.222208
                ...
NewCurve
31393 0.014833 45793 0.222208 46713 0.238592 48495 0.239557
52993 0.301588 55520 0.275073 56602 0.260338 57974 0.276448
                ...
        >>
Il est possible de créer ainsi plusieurs blocs correspondant à plusieurs ReadFile.

2.2.2  PLOT SETTING

PlotTitle TITLE="Text of Title" HEIGHT=-1
Grid FRAME=No|Yes

XGRID=Yes|Light|No YGRID=Yes|Light|No

ScaleToFrame
LineStyle CURVE=1 STYLE=Solid COLOR=Black THICKNESS=1
MarkStyle CURVE=1 STYLE=Cross SIZE=1
Sampling CURVE=1 STEP=1
Mask CURVE=1
ArrowStyle CURVE=1 LENGTHFACTOR=-1 ARROWFACTOR=-1

2.2.3  AXES SETTING

Rescale
XTitle TITLE="text of title" HEIGHT=1
XAxis SHOW=Yes|No SCALE=Linear|Logarithm|Time|Degree|Formula

[ MIN=-1 MAX=-1 DELTA=-1 LABEL=Yes|No ]

[ FORMULA="my_formula" NEWXMIN=-1 NEWXMAX=-1 ]

XLabel LABELSTEP=-1 REFERENCE=-1

LABELHEIGHT=1 CFORMAT="format" ANGLE=0.

LIST= value1 "texte1" ... valueN "texteN"

YTitle TITLE="text of title" HEIGHT=1
Yaxis SHOW=Yes|No SCALE=Linear|Logarithm|Time|Degree|Formula

[ MIN=-1 MAX=-1 DELTA=-1 LABEL=Yes|No ]

[ FORMULA="my_formula" NEWXMIN=-1 NEWXMAX=-1 ]

YLabel LABELSTEP=-1 REFERENCE=-1

LABELHEIGHT=1 CFORMAT="format" ANGLE=0.

LIST= value1 "texte1" ... valueN "texteN"

ZTitle TITLE="text of title" HEIGHT=1
Zaxis SHOW=Yes|No SCALE=Linear|Logarithm|Time|Degree|Formula

[ MIN=-1 MAX=-1 DELTA=-1 LABEL=Yes|No ]

[ FORMULA="my_formula" NEWXMIN=-1 NEWXMAX=-1 ]

ZLabel LABELSTEP=-1 REFERENCE=-1

LABELHEIGHT=1 CFORMAT="format" ANGLE=0.

LIST= value1 "texte1" ... valueN "texteN"

2.2.4  CIRCULAR DIAGRAM

Les commandes suivantes peuvent être utilisées dans une ``Annotation Window'':
PolarAxis XCENTER=-1 YCENTER=-1 RADIUSMAX=-1

[ GRID=Light DEPEND=AxisFormula ]

RadialAxis DELTATHETA=-1 DELTARADIUS= -1

LABEL=Yes|No LABELSTEP=-1 LABELHEIGHT=1

[ UPPERVIEW=Yes|No ] LABELPOSITION=-1 COLOR=Black

où LabelPosition= est la position des annotations des rayons (en degrés).

ThetaList theta values....
RadiusList radius values....
AzimuthAxis DELTAPHI=-1

LABEL=Yes|No LABELSTEP=-1 LABELHEIGHT=-1

COLOR=Black [ CLOCKWISE=Yes|No ORIGIN=LeftSideRight ]

PhiList phi values....

2.2.5  FITS COMMANDS

Fit FUNCTION=Smooth CURVE=1

[ MIN=-1 MAX=-1 ] WINDOWSIZE=-1 STEP=-1

[ MODE=Add|Replace|Merge VARIABLE=X|Y ]

Fit FUNCTION=Bezier CURVE=1

[ MIN=-1 MAX=-1 ] WINDOWSIZE=-1 STEP=-1

[ MODE=Add|Replace|Merge VARIABLE=X|Y ]

Fit FUNCTION=Spline CURVE=1

[ MIN=-1 MAX=-1 NPOINTS=-1 STEP=-1]

[ MODE=Add|Replace|Merge VARIABLE=X|Y ]

FitResultFormat " Standard Deviation: %f Correlation: %.3f Y = %.6f X + %.3f",std,cor,c1,c0
Fit FUNCTION=Polynomial CURVE=-1

[ MIN=-1 MAX=-1 NPOINTS=-1]

STEP=-1 ORDER=1

[ MODE=Add|Replace|Merge VARIABLE=X|Y ]

FIT_RESULT_AS_ANNOTATION=Yes|No

XSTART=0 YSTART=0

COLOR=Black STYLE=Plain|Bold HEIGHT=1

FitResultFormat " Standard Deviation: %f Correlation: %.3f a=%.6f b=%.3f",std,cor,a,b
Fit FUNCTION=AdvancedFit CURVE=1

[ MIN=-1 MAX=-1 NPOINTS=-1 STEP=-1 ] ERROR=1.e-05

[ MODE=Add|Replace|Merge VARIABLE=X|Y

FORMULA=Ëquation" INIT=Ïnitial values" 

FIT_RESULT_AS_ANNOTATION=Yes|No

XSTART=0 YSTART=0

COLOR=Black STYLE=Plain|Bold HEIGHT=1

ATTENTION!

  • Il est important de placer la ligne ``FitResulFormat'' avant la ligne ``Fit'' qui détermine le type de fit à réaliser.
  • Les ``min'' et ``max'' sont en unités utilisateurs.
  • Si les lignes ``Fit'' sont placées avant les lignes déterminant le type d'axes (``XAxis'' et ``YAxis''), les fits seront réalisés en échelle linéaire. Dans le cas contraire, les fits seront réalisés dans le type des axes (fit sur une courbe en log, par exemple).

2.2.6  MISC COMMANDS

Formula MIN=-1 MAX=-1 NPOINTS=-1 FORMULA=Ëquation"
Extract FILE="filename"

2.2.7  ISO CONTOURS

ContourDef LABEL=Yes|No SMOOTH=Yes|No IDEALDISTANCE=1

BACKGROUND=transp|white

FOREGROUND=Undef|White|Black 

CFORMAT="format" SIZE=1

DrawContour VALUE=0 COLOR=Black

LINESTYLE=Solid MARKSTYLE=Bigdot

SurfaceGeometry XMIN=-1 XMAX=-1 YMIN=-1 YMAX=-1

DISTANCEFACTOR=-1  XYRATIO=-1 INTERPOLATION=Yes|No

3DView UP/DOWN=60. RIGHT/LEFT==45. GROUNDLEVEL=0.

STRETCH=0.93 SHIFT=0.09 GRIDSIZE=40.

COLOR=Black THICKNESS=1.

Add3DView [ Top|Bottom|Grid|Surface|TopCurve|BottomCurve ]
SurfaceStretch ZMIN=-1 ZMAX=-1 FIRSTLEVEL=-1 LASTLEVEL=-1

Où Zmin, Zmax sont les bornes minimale et maximale Z de la surface. Cet intervalle sera découpé en 256 niveaux de couleurs.

Où FirstLevel, LastLevel sont les bornes minimale et maximale (entre 0 et 255) de la table de couleur qui seront utilisées pour le découpage des niveaux V1 V2.

AddObjects [ Region|Surface|Dots|Triangles ]

Les commandes suivantes peuvent être utilisées dans une ``Annotation Window'':
SurfaceLut LUTNUMBER=0 | FILE= "file_name"

où LutNumber= détermine le choix de la table de couleur:

= de 1 à 14 : l'une des tables de couleur internes est sélectionnée (description §1.2.8)

Si un nom de fichier est donné, les données peuvent être codées de 2 manières:

- indice (0- > 255) Rouge Vert Bleu (composantes codées entre 0- > 255)
- z1 z2 (bornes de la surface) Rouge Vert Bleu (composantes couleurs)

ColorScale MODE= Linear | Boxes

XSTART=-1 YSTART=-1 XEND=-1 YEND=-1 MIN=-1 MAX=-1

COLOR=Black POSITION=DownRight|UpLeft

NOTICK=Yes|No CFORMAT="format" SIZE=1

LIST= Z0 Label0... Zn Labeln

Où XStart=. Yend= sont les coordonnées du rectangle. Elles sont données en unité utilisateur ou en pourcentage de la taille des axes. (Il suffit de faire suivre la valeur par % pour être indépendant des unités du graphique)

Où Min=0 Max=0 (0- > 255) Sont les bornes de la table de couleur à tracer. Elles permettent de mettre en exergue une partie de la table de couleur utilisée.

Où z0 label0.. sont le niveau z suivi, soit de la valeur du label en réel à tracer, soit d'un texte entouré de guillemets (Label : value or "text").

2.2.8  PLOT ANNOTATION

Les commandes suivantes peuvent être utilisées dans une ``Annotation Window'':
PlotText XSTART=0 YSTART=0

COLOR=Black STYLE=Plain|Bold

HEIGHT=1 ANGLE=0 TEXT="text to plot"

PlotMark XSTART=0 YSTART=0

COLOR=Black STYLE=BigDot SIZE=1

PlotBox XSTART=0 YSTART=0 XEND=0 YEND=0

COLOR=Black STYLE=BigDot THICKNESS=1

PlotLine XSTART=0 YSTART=0 XEND=0 YEND=0

COLOR=Black STYLE=Solid THICKNESS=1

PlotArrow XSTART=0 YSTART=0 XEND=0 YEND=0

COLOR=Black STYLE=Solid THICKNESS=1

PlotAxis LOCATION=RIGHT|TOP|LEFT|BOTTOM|FREE

[ XSTART=0 YSTART= 0 XEND=0 YEND=0]

SCALE=Linear|Logarithm|Time|Degree|Formula

[ FORMULA="my_formula"]

MIN=0 MAX=0 DELTA=0

COLOR=Black THICKNESS=1

TITLE="Title of axis" TITLEHEIGHT=1

LABEL=Yes|No POSITION=UpRight|DownLeft LABELSTEP=-1

[ REFERENCE=-1 LABELHEIGHT= 1 CFORMAT="format" ANGLE=0]

[ LIST= value1 "texte1" ... valueN "texteN" ]

Toutes les coordonnées sont données en unités utilisateur ou en pourcentage de la taille des axes. (Il suffit de faire suivre la valeur par % pour être indépendant des unités du graphique)

2.2.9  PAGE SETTING

PageText XSTART=0 YSTART=0

COLOR=Black STYLE=Plain|Bold

HEIGHT=1 ANGLE=0 TEXT="text toplot"

PageBox XSTART=0 YSTART=0 XEND=0 YEND=0

COLOR=Black STYLE=Solid THICKNESS=1

PageLine XSTART=Black YSTART=0 XEND=0 YEND=0

COLOR=Black STYLE=Solid THICKNESS=1

DrawCell XSTART=0 YSTART=0 WIDTH=0 HEIGHT=0

TYPE=Black&White|GrayScale|Color

[ ORIENTATION=Landscape|Portrait MODE=ScaleToFrame|Margin ]

Toutes les coordonnées sont données en cm ou inch.
NB: Comme vous précisez le Type à chaque cellule, il est possible d'imprimer des graphiques noir et blanc et couleur sur la même page.

2.2.10  OUTPUT COMMANDS

SendToFile FILE="filename" TYPE=Black&White|GrayScale|Color

[ SIZE= 15 COPIES=1 ORIENTATION=Landscape|Portrait ]

SendTo[EPS]File FILE="filename" TYPE=Black&White|GrayScale|Color

[ ORIENTATION=Landscape|Portrait ]

SendToPrinter COMMAND="filename" TYPE=Black&White|GrayScale|Color

[ SIZE= 15 COPIES=1 ORIENTATION=Landscape|Portrait ]

Cette commande transfert le résultat à un ``previewer'' PostScript de votre choix. Ex: SendToDisplay Command="ghostscript".

2.3  OPTIONS AND SPECIFICATIONS

Color :
Red Blue Magenta Black Green Forest Sienna Yellow Coral Violet Plum Cyan Turquoise

LineStyle :
Solid NoLine MicroDash SmallDash Dash LongDash DashDot LineDot

MarkStyle :
NoMark BigDot SmallDot Cross X Square Diamond TriangleUp TriangleDown Circle FSquare FDiamond FTriangleUp FTriangleDown Fcircle (Où F est la première lettre de Filled)

Fonctions utilisées dans les équations :

Exp, log10, log, sqrt, rnd()

sign, abs, int,

sin, cos, tan (en radian),sind, cosd, tand (en degrés)

asin, acos, atan, asind, acosd, atand,

sinh, cosh, tanh,

asinh, acosh, atanh,

cosec, sec, cotan, cosecd, secd, cotand

Opérateurs utilisés dans les équations :

+, -, *, / , % (division entière),

** (élévation à la puissance)

& (AND) , | (OR) , ^ (XOR), ~ (complement)

2.4  EXEMPLE

Vous pouvez exécuter cet exemple en le plaçant dans un fichier (a.com) et en exécutant la commande Mgraph -show a.com.
Le résultat en PostScript sera contenu dans le fichier print.ps que vous pouvez imprimer ou visualiser.

Verbose
WindowSize            Width=575       Height=575
Formula               Min=0   Max=360 Npoints=200  Formula="y=sind(x)"
PlotTitle             Title="COMMAND FILE TEST"  Height=1.20
ScaletoFrame
LineJoin              Round
LineStyle             Curve=1  Style=MicroDash  Red   Thickness=2
MarkStyle             Curve=1  Style=BigDot     Size=3
PlottingStep          Curve=1  Step=2

XAxis             Scale=Logarithm   Min=-1   Max=-1
Ytitle            Title="Y values"  Height=1.
Ylimits           Min=-1.  Max=1.0
Ylabel            LabelHeight=1.00   CFormat="%+2.2f"
Rescale

Fit    Function=Polynomial    Curve=1      Npoints=100     Order=6       Mode=Add
Fit    Function=AdvancedFit   Curve=1      Npoints=100     Error=.0001   Mode=Add \
                        Formula="y=a*x+b"       Init="a=3,b=0"
Formula       Npoints=100       Formula="y=y1+rnd()/2"
Extract       File="./data.extract"
PlotText      XStart=32.22%     YStart=81.04%     Color=Red     Style=Bold \ 
                        Height=3.00     Text="$a^{2$b^{$T}\_{$d}}+$g"
PlotText      XStart=0.11       Ystart=-.5        Color=Green   Style=Bold \   
                        Height=2.       Angle=-30     Text="Green Plot Note"
PlotMark      XStart=40.       YStart=0       \
                        Color=Magenta       Style=TriangleUp Size=20
PlotLine      XStart=80%       YStart=0%       XEnd=80%       YEnd=100% \
                        Color=Red       Style=Dash       Thickness=6
PlotBox       XStart=0.       YStart=-1.       XEnd=50.       YEnd=-.5. \
                        Color=Red       Style=MicroDash       Thickness=12
PlotArrow     XStart=0.       YStart=-1        XEnd=150.       YEnd=.8 \
                        Color=Magenta Thickness=10
PlotAxis      Location=Free  \
                        XStart=0.30%   YStart=108.79%  XEnd=100.30%  YEnd=109.16% \
                        Color=Violet        Label=Yes       \
                        Min=0    Max=360   Delta=40 \
                        CFormat="%.0f"  Scale=Linear
PageText      XStart=10.       YStart=25.       Color=Blue      Style=Bold \
                        Angle=20.       Text="Blue Page Note"
PageLine      XStart=0.       YStart=14.       XEnd=16.        YEnd=6. \
                        Color=Plum       Style=Dash       Thickness=.1
PageBox       XStart=2.       YStart=5.       XEnd=5.       YEnd=9. \
                        Color=Cyan       Style=Solid       Thickness=.2
PageArrow     XStart=5.       YStart=8.       XEnd=12.       YEnd=10. \
                        Color=Turquoise       Thickness=.6

DrawCell      XStart=4.       YStart=4.       Width=15.       Height=16. \
                        Type=Color       Mode=ScaleToFrame

SendToFile    File="./print"       Size=15.       Copies=1

test.gif **********************************************************

Chapitre 3
Appel à partir d'un programme

FORTRAN / C INTERFACE


**********************************************************

Une version réseau du logiciel (Mgraph_sp ) a été développée ; elle permet la visualisation de graphiques générés dans un programme. Cette version est très utilisée dans des problèmes délicats comme le dépouillement de mesures où les contraintes sont le choix de séquences à dépouiller et l'ajustement de coefficients dans les modèles pour réaliser par exemple des inversions et retrouver des paramètres physiques.


Une bibliothèque lib_Net_Mgraph.a contenant divers modules à intégrer dans les programmes FORTRAN ou C a été générée et plusieurs exemples commentés sont fournis avec la distribution de Mgraph .


Cette version réseau permet à un utilisateur de lancer son programme de calcul sur un 1er ordinateur qui exécuterait le programme de visualisation Mgraph_sp sur un 2ème ordinateur et la visualisation des graphiques sur le terminal X d'un 3ème ordinateur et ceci d'une façon transparente quel que soit le type de plate-forme utilisée. (Attention l'utilisateur doit posséder les droits d'accès sur les différentes machines utilisées). Dans le cas le plus général, le tout est lancé sur le même ordinateur mais ceci montre bien l'indépendance entre le programme utilisateur et la visualisation Mgraph .

Plusieurs exemples de programmes C et Fortran sont livrés avec la distribution de Mgraph .

3.1  Les appels de sous-programme

Lancement du logiciel (§3.2.1) run_mgraph
run_mgraph_no_display
Spécifications générales (§3.2.2) send_resize
send_scale_to_frame
send_add_logo
send_signature
Tracé des axes (§3.2.3) send_format
send_xaxes2
send_yaxes2
send_zaxes2
send_labelsize
Envoi des données (§3.2.4) send_data2
send_data_Xerror
send_data_Yerror
Envoi de surface (§3.2.5) send_datasurf
send_irregulardatasurf
send_datasurf3d
send_colorscale
Envoi de titre ou d'annotation (§3.2.6)send_title
send_text2
send_line
send_box
send_mark
La mise en page (§3.2.7) send_draw_cell
send_page_text
send_page_line
send_page_box
send_page_arrow
Les sorties (§3.2.8) send_print
send_create_ps
send_create_eps
send_export
L'animation (§3.2.9) send_animate
send_clear_window
Terminer le dialogue (§3.2.10)send_end_dialog
send_exit_mgraph


En FORTRAN, les noms des routines sont simplement suivis de _f.

La description détaillée des paramètres des fonctions est donnée ci-dessous.

3.2  Description détaillée

Les variables suivantes sont utilisées dans plusieurs sous-programmes.

int client_id
Numéro d'ordre du logiciel; en effet, plusieurs Mgraph peuvent être lancés simultanément.
int window
Numéro de la fenêtre dans laquelle l'action va être exécutée. Vous pouvez ouvrir jusqu'à 10 fenêtres simultanément (-1 représente la fenêtre courante).
int color
Numéro de la couleur: de 0 à 12 : Red, Blue, Magenta, Black, Green, Forest, Sienna, Yellow,Coral, Violet, Plum, Cyan, Turquoise et 16 pour la couleur White
int line_style
Style du tracé de ligne: de 0 à 7 :Solid, NoLine, MicroDash, SmallDash, Dash, LongDash, DashDot, LineDot
int mark_type
Style du marqueur: de 0 à 15 : NoMark, BigDot, SmallDot, Cross, X, Square, Diamond, TriangleUp, TriangleDown, Circle, filled Square, filled Diamond, filled TriangleUp, filled TriangleDown, filled Circle

3.2.1  Lancement du logiciel:

Mgraph_sp peut être lancé avec ou sans visualisation:

/*----------------------------------------------------------------------------*/
/* LOGIN          login name; if NULL will be the current login               */
/* SHELL          "rsh" or "remsh"; if NULL will be  "remsh"                  */
/* PATH           path where the program is                                   */
/* PROG           name of the program (Mgraph_sp)                             */
/* COMPUTER       name of the computer where the program have to              */
/*                be launched; if NULL will be server_name                    */
/* DISPLAY        IP Address of terminal                                      */
/*----------------------------------------------------------------------------*/

run_mgraph (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY);
run_mgraph_no_display (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY);
int 	client_id;
char 	LOGIN[], SHELL[], PATH[], PROG[], COMPUTER[], DISPLAY[]; 

call run_mgraph_f (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY)
call run_mgraph_no_display_f (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY)
integer 	client_id
character*(*) 	LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY

3.2.2  Spécifications générales:

La routine ``send_clear_window'' permet d'effacer la fenêtre désignée.
``send_resize'' permet de redéfinir la géométrie de la fenêtre de tracé.
``send_scale_to_frame'' permet de limiter les axes aux vrais minimum et maximum alors que par défaut une extension de 10% est appliquée pour une meilleure présentation.
``send_add_logo'' et ``send_signature'' permettent d'envoyer un logo et une signature sur la page.

C:
==
send_clear_window(client_id,window);
int         client_id,window;

FORTRAN:
=======
call send_clear_window_f(client_id,window)
integer         client_id,window

/*--------------------------------------------------------------------------------*/
/* width,height            Window size in pixel                                   */
/*--------------------------------------------------------------------------------*/

C:
==
send_resize(client_id,window,width,height);
int 	client_id,window,width,height;

FORTRAN:
=======
call send_resize_f(client_id,window,width,height)
integer 	client_id,window,width,height

/*--------------------------------------------------------------------------------*/
/* flag             0->no    1->yes                                               */
/*--------------------------------------------------------------------------------*/

C:
==
send_scale_to_frame(client_id,window,flag);
int     client_id,window,flag;

FORTRAN:
=======
call send_scale_to_frame_f(client_id,window,flag)
integer     client_id,window,flag

/*--------------------------------------------------------------------------------*/
/* x_position, y_position       position of the logo                              */
/* w_scale, h_scale             scaling    "   "                                  */
/* file_name                    the EPS filename which contains the logo          */
/*--------------------------------------------------------------------------------*/

C:
==
send_add_logo(client_id,x_position,y_position,w_scale,h_scale,file_name);
int     client_id;
float   x_position,y_position,w_scale,h_scale;
char    *file_name;

FORTRAN:
=======
call send_add_logo_f(client_id,x_position,y_position,w_scale,h_scale,file_name)
integer      client_id
real         x_position,y_position,w_scale,h_scale
character    file_name()

/*--------------------------------------------------------------------------------*/
/* signature        your signature                                                */
/*--------------------------------------------------------------------------------*/

C:
==
send_signature(client_id,signature);
int     client_id;
char    *signature;

FORTRAN:
=======
call send_signature_f(client_id,signature)
integer      client_id
character    signature()

3.2.3  Déterminer le tracé des axes:

La routine ``send_format'' permet, en un seul appel, de déterminer les axes en X et en Y. Les appels des routines ``send_xaxes2, send_yaxes2, send_zaxes2'' permettent de décrire les axes un par un.
``send_labelsize'' permet de changer, en un seul appel, la taille de tous les labels.

/*-------------------------------------------------------------------------------------*/
/*   extend           0=short mode   1=long mode                                       */
/*   XTitle           X Title                                                          */
/*   YTitle           Y Title                                                          */
/*   XForm            X Format  the C format formulation   ("%.2f" for ex.)            */
/*   YForm            Y Format    "    "        "                                      */
/*   Xsize            X Label size                                                     */
/*   Ysize            Y Label size                                                     */
/*   Xgrid            Grid type (10=grid 11=halftone 12=nogrid)                        */
/*   Xlab             0=Draw label on X (1=NoXlabel)                                   */
/*   Ygrid            Grid type (10=grid 11=halftone 12=nogrid)                        */
/*   Ylab             0=Draw label on Y (1=NoYlabel)                                   */
/*   Xlog             X log if =1                                                      */
/*   Ylog             Y log if =1                                                      */
/*   Xstep            X Step (if = 0 no small ticks)                                   */
/*   Ystep            Y Step                                                           */

/*  if extend = 1 (long mode):                                                         */
/*   Xmin, Xmax       X limits                                                         */
/*   Xref             X Reference value                                                */
/*   Xtick            X tick nb                                                        */
/*   Ymin, Ymax       Y limits                                                         */
/*   Yref             Y Reference value                                                */
/*   Ytick            Y tick nb                                                        */
/*-------------------------------------------------------------------------------------*/

C:
==
send_format(client_id,window,extend,XTitle,YTitle,XForm,YForm,Xsize,Ysize,
      Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog,Xstep,Ystep,
      Xmin,Xmax,Xref,Xtick,Ymin,Ymax,Yref,Ytick);

int         client_id,window,extend;
char        *XTitle,*YTitle ,*XForm,*YForm;
float       Xsize,Ysize;
int         Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog;
float       Xstep,Ystep;
float       Xmin,Xmax,Xref;
int         Xtick;
float       Ymin,Ymax,Yref;
int         Ytick;

FORTRAN:
=======
call send_format_f(client_id,window,extend,XTitle,YTitle,XForm,YForm,Xsize,Ysize,
      Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog,Xstep,Ystep,
      Xmin,Xmax,Xref,Xtick,Ymin,Ymax,Yref,Ytick)

integer     client_id,window,extend
character   XTitle(),YTitle(),XForm(),YForm()
real        Xsize,Ysize
integer     Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog
real        Xstep,Ystep
real        Xmin,Xmax,Xref
integer     Xtick
real        Ymin,Ymax,Yref
integer     Ytick


/*--------------------------------------------------------------------------------------*/
/* legend               The text which is displayed under the axis                      */
/* format               the C format formulation   ("%.2f" for ex.)                     */
/* label size           factor on label size                                            */
/* min, max             the limits of axis (-1 : uses the best)                         */
/* grid                 10= grid 11= half tone 12= no grid                              */
/* thickness            line factor                                                     */
/* rotation             label text rotation in degrees                                  */
/* step                 the step in your units between two ticks (-1:uses the best)     */
/* ref                  reference value   (-1 : uses the best)                          */
/* tick                 step (in ticks) between two labeled ticks  (-1 : uses the best) */
/* log                  0=linear 1=logarithm  2=formula 3=time  4=degree                */
/* Formula              (if log = 2)                                                    */
/*--------------------------------------------------------------------------------------*/

C:
==
send_xaxes2(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula);
send_yaxes2(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula);
send_zaxes2(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula);

int         client_id,window;
char        *legend,*format;
float       label_size,min,max;
int         grid,color,thickness;
float       rotation,step,ref;
int         tick,log;
char        *Formula;

FORTRAN:
=======
call send_xaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula)
call send_yaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula)
call send_zaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula)

integer       client_id,window;
character*(*) legend,format;
real          label_size,min,max;
integer       grid,color,thickness;
real          rotation,step,ref;
integer       tick,log;
character*(*) Formula;


/*-----------------------------------------------------------------------------*/
/* tit            size of title                                                */
/* xlab           size of Xaxis labels                                         */
/* ylab           size of Yaxis labels                                         */
/* xtit           size of Xaxis title                                          */
/* ytit           size of Yaxis title                                          */
/*-----------------------------------------------------------------------------*/

C:
==
send_labelsize(client_id,window,tit,xlab,ylab,xtit,ytit);
int         client_id,window;
float       tit,xlab,ylab,xtit,ytit;

FORTRAN:
=======
call send_labelsize_f(client_id,window,tit,xlab,ylab,xtit,ytit)
integer     client_id,window
real        tit,xlab,ylab,xtit,ytit

3.2.4  Envoyer les données à Mgraph:

La routine ``send_data2'' permet d'envoyer dans une fenêtre une série de données, sous la forme de 2 tableaux (X et Y). Les routines ``send_data_Xerror'' et ``send_data_Yerror'' permettent de tracer ces données avec une barre d'erreur (X, Y et tableau ERROR). Pour chacun de ces appels, vous pouvez déterminer le numéro de la courbe (-1 numérotera automatiquement), le style (couleur, ligne et type de marqueur) de la courbe (et des barres d'erreur).

/*----------------------------------------------------------------------------*/
/* clear               Window have to be cleared ? (Bool)                     */
/* plot_nb (0->512)    Number of the plot (-1 will determine an available one */
/* nbp                 Number of points in the data                           */
/* xx                  x       data                                           */
/* yy                  f(x)    data                                           */
/* error               X or Y error bar (Y+err Y-err (or X+err X-err) will be drawn) */
/*----------------------------------------------------------------------------*/

C:
==
send_data2(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize);

int      client_id;
int      window,clear,plot_nb, nbp;
float    *xx,*yy;
int      color,style,mark,thickness,marksize;

send_data_Xerror(client_id,window,clear,plot_nb,nbp,xx,yy,error,
                bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
                curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size);
send_data_Yerror(client_id,window,clear,plot_nb,nbp,xx,yy,error,
                bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
                curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size);

int      client_id,window,clear,plot_nb,nbp;
float    *xx,*yy,*error;
int      bar_color,bar_style,bar_mark,bar_thickness,bar_marksize;
int      curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size;

FORTRAN:
=======
call send_data2_f(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize)

integer      client_id
integer      window,clear,plot_nb, nbp
real         xx(nbp),yy(nbp)
integer      color,style,mark,thickness,marksize

call send_data_Xerror_f(client_id,window,clear,plot_nb,nbp,xx,yy,error,
                bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
                curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size)
call send_data_Yerror_f(client_id,window,clear,plot_nb,nbp,xx,yy,error,
                bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
                curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size)

integer      client_id,window,clear,plot_nb,nbp
real         xx(nbp),yy(nbp),error(nbp)
integer      bar_color,bar_style,bar_mark,bar_thickness,bar_marksize
integer      curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size

3.2.5  Envoyer une surface à Mgraph:

La routine ``send_datasurf'' permet d'envoyer une surface, en grille régulière, à Mgraph . Les points sont rangés dans 1 tableau (data). ``send_irregulardatasurf'' permet d'envoyer une surface irrégulière en 3 tableaux (XX, YY et ZZ).
``send_datasurf3d'' permet une représentation 3D de la surface précédemment tracée dans une fenêtre et l'appel de ``send_colorscale'' permet de dessiner dans la fenêtre une échelle couleur, linéaire ou à l'aide de carrés. Pour la description des tables de couleur internes, voir au §1.2.8.

/*-----------------------------------------------------------------------------------*/
/* width, height       surface dimensions                                            */
/* xmin xmax ymin ymax limits on X and Y                                             */
/* data[width*height]  data values                                                   */
/* nbcont              number of contour values                                      */
/* cont[nbcont]        contour values                                                */
/* color[nbcont]       (0->12 - 16)                                                  */
/* style[nbcont]       (0->7)      Line style                                        */
/* mark[nbcont]        (0->15)     Mark type                                         */
/* dolabel[nbcont]     Draw label? 0=No 1=Yes                                        */
/* add[4]              Surface , Region , Dots , Triangles (0/1)                     */
/* undef               Undef value (float)                                           */
/* distance            Region distance factor                                        */
/* pix[4]              Color tranformation: minv maxv minp maxp                      */
/* nlut                0=no lut   1->14=internal LUT 256=use following LUTS          */
/* Red[256]            LUT                                                           */
/* Green[256]          LUT                                                           */
/* Blue[256]           LUT                                                           */
/* near                pixel interpolation: 0=No 1=Yes                               */
/* Format              label C format                                                */
/* AddMode             1 = add contours on graphic window                            */
/*-----------------------------------------------------------------------------------*/

C:
==
send_datasurf(client_id,window,width,height,xmin,xmax,ymin,ymax,data,nbcont,cont,
              color, style,mark ,dolabel,add,undef,distance,pix,nlut,
              red,green,blue,near,Format,AddMode);
int        client_id,window,width,height;
float      xmin,xmax,ymin,ymax;
float      *data;
int        nbcont;
float      *cont;
int        *color,*style,*mark,*dolabel;
int        *add;
float      undef,distance,*pix;
int        nlut;
short      *red,*green,*blue;
int        near;
char       *Format;
int        AddMode;

FORTRAN:
=======
call send_datasurf_f(client_id,window,width,height,xmin,xmax,ymin,ymax,data,nbcont,cont,
              color, style,mark ,dolabel,add,undef,distance,pix,nlut,
              red,green,blue,near,Format,AddMode)
integer        client_id,window,width,height
real        xmin,xmax,ymin,ymax
real        data(nbp)
integer     nbcont
real        cont(nbcont)
integer     color(nbcont),style(nbcont),mark(nbcont),dolabel(nbcont)
integer     add(4)
real        undef,distance,pix(4)
integer     nlut
integer*2   red(256),green(256),blue(256)
integer     near
character*(*)  Format
integer     AddMode


/*-----------------------------------------------------------------------------------*/
/* width, height       surface dimensions [default 0]                                */
/* size                size of matrix X,Y,Z                                          */
/* xx                  X values (float)                                              */
/* yy                  Y values (float)                                              */
/* zz                  Z values (float)                                              */
/*-----------------------------------------------------------------------------------*/

C:
==
send_irregulardatasurf(client_id,window,width,height,size,xx,yy,zz,nbcont,cont,
		color,style,mark,dolabel,add,undef,distance,pix,nlut,
		red,green,blue,near,Format,AddMode);

int        client_id,window,width,height,size;
float      *xx,*yy,*zz;
int        nbcont;
float      *cont;
int        *color,*style,*mark,*dolabel;
int        *add;
float      undef,distance,*pix;
int        nlut;
short      *red,*green,*blue;
int        near;
char       *Format;
int        AddMode;

FORTRAN:
=======
call send_irregulardatasurf(client_id,window,width,height,size,xx,yy,zz,nbcont,cont,
		color,style,mark,dolabel,add,undef,distance,pix,nlut,
		red,green,blue,near,Format,AddMode)

integer        client_id,window,width,height,size
real           xx(size),yy(size),zz(size)
integer        nbcont
real           cont(nbcont)
integer        color(nbcont),style(nbcont),mark(nbcont),dolabel(nbcont)
integer        add(4)
real           undef,distance,pix(4)
integer        nlut
integer*2      red(256),green(256),blue(256)
integer        near
character*(*)  Format
integer        AddMode

/*-----------------------------------------------------------------------------------*/
/* updown              Up/Down angle in degrees                                      */
/* rightleft           Right/Left angle in degrees                                   */
/* groundlevel         Undef=8421                                                    */
/* stretch             between  0 to 1 : reduces z impact                            */
/* zeroposition        between -1 to 1 : shifts the graph position                   */
/* addings3D[8]        Top surface, Bottom surface, Surface, Grids,                  */
/*                     Top curves, Bottom curves  (0/1)     (7 &  8 unused)          */
/* nbgrid              Number of grids                                               */
/* thickness	       Grid thickness                                                */
/* color               Grid color (0->12 or 16 for white)                            */
/*-----------------------------------------------------------------------------------*/

C:
==
send_datasurf3d(client_id,window,updown,rightleft,groundlevel,
                stretch,zeroposition,addings3D,nbgrid,thickness,color);

int         client_id,window;
float       updown,rightleft,groundlevel,stretch,zeroposition;
int         *addings3D,nbgrid,thickness,color;

FORTRAN:
=======
call send_datasurf3d(client_id,window,updown,rightleft,groundlevel,
                stretch,zeroposition,addings3D,nbgrid,thickness,color)

integer         client_id,window
real            updown,rightleft,groundlevel,stretch,zeroposition
integer         addings3D(8),nbgrid,thickness,color


/*-----------------------------------------------------------------------------------*/
/* mode                0=linear  1=boxes                                             */
/* x1,y1,x2,y2         color scale positions                                         */
/* min,max             color scale stretch: 0->255                                   */
/* position            0=Down/Right  1=Up/Left                                       */
/* color_label         Label color (0->12 or 16 for white)                           */
/* NoTick              0=tick  1=no tick                                             */
/* size_label          the size label factor                                         */
/* coord               0=percentage   1=user units                                   */
/* format              the C format formulation   ("%.2f" for ex.)                   */
/* list                list of pixel value followed by a value or a label            */
/*-----------------------------------------------------------------------------------*/

C:
==
send_colorscale(client_id,window,mode,x1,y1,x2,y2,min,max,position,color_label,
		NoTick,size_label,coord,format,list);

int         client_id,window,mode;
float       x1,y1,x2,y2;
int         min,max,position,color_label,NoTick;
float       size_label;
int         coord;
char        *format,*list;

FORTRAN:
=======
call send_colorscale(client_id,window,mode,x1,y1,x2,y2,min,max,position,color_label,
		NoTick,size_label,coord,format,list)

integer         client_id,window,mode
real            x1,y1,x2,y2
integer         min,max,position,color_label,NoTick
real            size_label
integer         coord
character*(*)   format,list


3.2.6  Envoyer un titre ou une annotation à Mgraph:

Les appels suivants vous permettent d'ajouter un titre dans une fenêtre ou des annotations: text, ligne ou boite. La variable ``relative'' permet de lier les annotations au graphique en coordonnées réelles ou de les attacher au graphe lui-même (en %).


/*----------------------------------------------------------------------------*/
/* text                      the text which is to be shown                    */
/* x_position, y_position    position of the text (or marker)                 */
/* x_start,y_start           start position of the line (or box)              */
/* x_end,y_end               end position of the line (or box)                */
/* rotation                  rotation angle in degree                         */
/* size                      factor                                           */
/* bold                      0->plain text  1->bold text                      */        
/* thickness                 Line thickness factor                            */
/* relative                  0->relative to frame in %  1-> user coordinates  */
/*----------------------------------------------------------------------------*/

C:
==
send_title(client_id,window,text);
int 	client_id,window;
char 	*text;

send_text2(client_id,window,color,rotation,size,bold,x_position,y_position,text,relative);
int         client_id,window,color;
float       rotation,size;
int         bold;
float       x_position,y_position;
char        *text;
int         relative;

send_line(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative);
int         client_id,window,color,style,thickness;
float       x_start,y_start,x_end,y_end;
int         relative;

send_box(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative);
int        client_id,window,color,style,thickness;
float      x_start,y_start,x_end,y_end;
int        relative;

send_mark(client_id,window,color,type,size,x_pos,y_pos,relative);
int        client_id,window,color,type,size;
float      x_pos,y_pos;
int        relative;


FORTRAN:
=======
call send_title_f(client_id,window,text)
integer 	client_id,window
character*(*)  	text

call send_text2_f(client_id,window,color,rotation,size,bold,x_position,y_position,text,relative)
integer         client_id,window,color
real            rotation,size
integer         bold
real            x_position,y_position
character*(*)   text
integer         relative

call send_line_f(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative)
integer         client_id,window,color,style,thickness
real            x_start,y_start,x_end,y_end
integer         relative

call send_box_f(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative)
integer        client_id,window,color,style,thickness
real           x_start,y_start,x_end,y_end
integer        relative

call send_mark_f(client_id,window,color,type,size,x_pos,y_pos,relative)
integer        client_id,window,color,type,size
real           x_pos,y_pos
integer        relative

3.2.7  Faire une mise en page:

Vous pouvez imprimer votre graphe directement en utilisant les sorties PostScript, Gif ou Tiff mais également en faisant une mise en page grâce aux appels suivants: ``send_draw_cell'' permet d'envoyer le graphe dans une cellule positionnée sur une page, puis ``send_page_text'' etc... permettent de faire des annotations sur la page.

/*------------------------------------------------------------------------------------*/
/* x_position, y_position    position of the cell on the page   in cm                 */
/* width, height             size in cm                                               */
/* type                      0=B/W    1=GreyScale    2=Color                          */
/* orientation               0=Portrait 1=Landscape                                   */
/* fit_frame                 fit the frame? 0=No     1=Yes                            */
/*------------------------------------------------------------------------------------*/

C:
==
send_draw_cell(client_id,window,x_position,y_position,width,height,type,orientation,fit_frame);
int        client_id,window;
float      x_position,y_position,width,height;
int        type,orientation,fit_frame;

FORTRAN:
=======
call send_draw_cell_f(client_id,window,x_position,y_position,width,height,type,orientation,fit_frame)
integer        client_id,window
real           x_position,y_position,width,height
integer        type,orientation,fit_frame;

/*-------------------------------------------------------------------------------------*/
/* x_position, y_position    position of the text on the page   in cm                  */
/* bold                bold text? 0=No     1=Yes                                       */
/* height              text height in cm                                               */
/* rotation            text rotation in degrees                                        */
/* text                the text which is to be shown                                   */
/* x_start, y_start    start position of the line (box, arrow) in cm                   */
/* x_end, y_end        end  position of the line (box, arrow) in cm                    */
/* thickness           Line thickness in cm                                            */
/*-------------------------------------------------------------------------------------*/

C:
==
send_page_text(client_id,x_position,y_position,color,bold,height,rotation,text);
int         client_id;
float       x_position,y_position;
int         color,bold;
float       height,rotation;
char        *text;

send_page_line(client_id,x_start,y_start,x_end,y_end,color,style,thickness);
int         client_id;
float       x_start,y_start,x_end,y_end;
int         color,style;
float       thickness;

send_page_box(client_id,x_start,y_start,x_end,y_end,color,style,thickness);
int         client_id;
float       x_start,y_start,x_end,y_end;
int         color,style;
float       thickness;

send_page_arrow(client_id,x_start,y_start,x_end,y_end,color,style,thickness);
int         client_id;
float       x_start,y_start,x_end,y_end;
int         color,style;
float       thickness;

FORTRAN:
=======
call send_page_text_f(client_id,x_position,y_position,color,bold,height,rotation,text)
integer          client_id
real             x_position,y_position
integer          color,bold
real             height,rotation
character*(*)    text

call send_page_line_f(client_id,x_start,y_start,x_end,y_end,color,style,thickness)
integer         client_id
real            x_start,y_start,x_end,y_end
integer         color,style
real            thickness

call send_page_box_f(client_id,x_start,y_start,x_end,y_end,color,style,thickness)
integer         client_id
real            x_start,y_start,x_end,y_end
integer         color,style
real            thickness

call send_page_arrow_f(client_id,x_start,y_start,x_end,y_end,color,style,thickness)
integer         client_id
real            x_start,y_start,x_end,y_end
integer         color,style
real            thickness

3.2.8  Les sorties PostScript, Gif ou Tiff:

Vous pouvez imprimer votre graphe ou votre mise en page soit directement sur une imprimante à travers une commande ``shell'', soit dans un fichier (PS ou EPS). Vous pouvez également exporter un graphe dans un fichier TIFF ou GIF.


/*------------------------------------------------------------------------------------*/
/*           allows you to send the graphic window  to a spooler command              */
/*              or in a  (Encapsulated)PostScript file                                */
/* size                 size in cm (std 16 cm)                                        */
/* type                 0=B/W    1=GreyScale    2=Color                               */
/* square               square frame? 0=No     1=Yes                                  */
/* logo                 add the logo? 0=No     1=Yes                                  */
/* orientation          0=Portrait 1=Landscape                                        */
/* printer_shell        spooler command: example: "lp -d Myprinter"                   */
/* file_name            your PS file name                                             */
/*------------------------------------------------------------------------------------*/

C:
==
send_print(client_id,window,size,type,square,logo,orientation,printer_shell);
int        client_id,window;
float      size;
int        type,square,logo,orientation;
char       *printer_shell;

send_create_ps (client_id,window,size,type,square,logo,orientation,file_name);
int     client_id,window;
float   size;
int     type,square,logo,orientation;
char    *file_name;

send_create_eps(client_id,window,type,orientation,file_name);
int     client_id,window,type,orientation;
char    *file_name;

FORTRAN:
=======
call send_print_f(client_id,window,size,type,square,logo,orientation,printer_shell)
integer        client_id,window
real           size
integer        type,square,logo,orientation
character*(*)  printer_shell

call send_create_ps_f(client_id,window,size,type,square,logo,orientation,file_name)
integer        client_id,window
real           size
integer        type,square,logo,orientation
character*(*)  file_name

call send_create_eps_f(client_id,window,type,orientation,file_name)
integer        client_id,window,type,orientation
character*(*)  file_name

/*------------------------------------------------------------------------------------*/
/*           allows you to export the graphic window                                  */
/*                   in a Gif / Tiff file                                             */
/* type                 0-> gif 1-> Tiff                                              */
/* file_name            your Gif/Tiff file name                                       */
/*------------------------------------------------------------------------------------*/

C:
==
send_export(client_id,window,type,file_name);
int     client_id,window;
int     type;
char    *file_name;

FORTRAN:
=======
call send_export_f(client_id,window,type,file_name)
integer          client_id,window
integer          type
character*(*)    file_name

3.2.9  Animation des graphes:

Si plusieurs courbes ont été tracées dans la fenêtre, elles peuvent être animées de la manière suivante:

/*-------------------------------------------------------------*/
/* elapse               time : 10 -> 100                       */
/* plot step            > 1 if the animation is too slow       */
/*-------------------------------------------------------------*/

C:
==
send_animate(client_id,window,elapse,plot_step)
int          client_id,window,elapse,plot_step;

FORTRAN:
=======
call send_animate_f(client_id,window,elapse,plot_step)
integer        client_id,window,elapse,plot_step

3.2.10  Terminer la session:

La routine ``send_end_dialog'' permet de quitter votre programme en conservant Mgraph actif. La routine ``send_exit_mgraph'' quitte Mgraph .


C:
==
send_end_dialog(client_id)
int      client_id;

send_exit_mgraph(client_id)
int      client_id;

FORTRAN:
=======
call send_end_dialog_f(client_id)
integer      client_id

call send_exit_mgraph_f(client_id)
integer      client_id

3.3  Exemples de programmes C:

/*-----------------------------------------------
        SHORT PROGRAM:
        You just need 3 calls to draw a curve:
        run_mgraph:       Calling of the software
        send_data2:       Drawing of 4 curves (sin) into 4 windows
        send_end_dialog:  Close Dialog: Mgraph remains active
------------------------------------------------*/

#include <stdio.h>
#include <math.h>

#define FALSE 0
#define TRUE  1

#define LOGIN ""
#define SHELL "remsh"
#define PATH "/usr/local/bin"
#define PROG "Mgraph_sp"
#define COMPUTER ""
#define DISPLAY ""

extern int run_mgraph();
main()
{
int mgraph_no=1,nbp = 512,id;
float *xx,*yy;
int i,plot_no;

/*========================================================================================
 START MGRAPH_SP MODULE: run_mgraph
        LOGIN:  login name;             if NULL will be the current login
        SHELL:  "rsh" or "remsh";       if NULL will be  "remsh"
        PATH :  path where the program is
        PROG :  name of the program (Mgraph_sp)
        COMPUTER:       name of the computer where the program has to
                        be launched;    if NULL will be the server name
        DISPLAY: Your Display Id;       if NULL will be your DISPLAY address
                                             from your environment
==========================================================================================*/

        if(!run_mgraph(mgraph_no,LOGIN,SHELL,PATH,PROG,COMPUTER,DISPLAY))
        {
                printf("Cannot start Mgraph\n");
                exit(0);
        }

        xx = (float *) malloc( sizeof(float) * nbp );
        yy = (float *) malloc( sizeof(float) * nbp );

        for (plot_no=1;plot_no<5;plot_no++){
        id = plot_no;

            for(i=0;i<nbp;i++){
                xx[i] = i * 3.141592 * plot_no / nbp;
                yy[i] = sin((double)xx[i]) / plot_no;
            }
/*-----------------------------------------------
SEND DATA ON WINDOW
send_data2(client_id,window,clear,plot_nb,nbp,$\times$,yy,color,style,mark,thickness,marksize);

   id    : Number of window (from 1 to 5)
   0     : window will not be cleared
   -1    : number of the plot
   nbp   : Number of points in xx and yy arrays
  xx,yy  : data arrays
  plot_no: color of the curve
  0      : line style (0=solid)
  0      : mark style (0=no mark)
  1      : line thickness
  0      : mark size
------------------------------------------------*/
            send_data2(mgraph_no,id,0,-1,nbp,xx,yy,plot_no,0,0,1,0);
        }

        send_end_dialog(mgraph_no);
        free(xx);
        free(yy);
}
/*-----------------------------------------------
   RELATED PROGRAM: drawing with interaction between software and Mgraph
  -----------------------------------------------
  COMMON VARIABLES:
     int Mgraph_no Sequence number of the software; 
                      several Mgraph can be launched at the same time id (several Mgraph can be launched)
     int nwindow   Number of window in which the data will be shown (-1=Current)
     int color     Number of the color: from 0 to 12:
                          Red, Blue, Magenta, Black, Green, Forest, Sienna,
                          Yellow, Coral, Violet, Plum, Cyan, Turquoise
			  Plum, Cyan,Turquoise
                      and 16 for the White
     int linestyle Style of the line: from 0 to 7:
                          Solid, NoLine, MicroDash, SmallDash,
                         Dash, LongDash, DashDot, LineDot
     int marker    Style of the marker: from 0 to 15:
                          NoMark, BigDot, SmallDot, Cross, X, Square,
                          Diamond, TriangleUp, TriangleDown, Circle
                          filled: Square, Diamond, TriangleUp, TriangleDown, Circle
-----------------------------------------------*/

#include <stdio.h>
#include <math.h>
#include <unistd.h>

#define FALSE 0
#define TRUE  1

#define LOGIN NULL
#define SHELL NULL
#define PATH "/usr/local/bin"
#define PROG "Mgraph_sp"
#define COMPUTER ""
#define DISPLAY NULL 
#define XFormula "cos(x)"
#define YFormula NULL

extern int run_mgraph();
main()
{
float *xx,*yy;
int   i,nbp,plot_no;
float  coef;

int   Mgraph_no;
int   nwindow;
int   width;
int   height;
char  title[128],texte[128];
char  TitleAxis[128];
char  Format[128];
float xmin,xmax,ymin,ymax;
int   grid;
float xstep,ystep;
float xbase,ybase;
int   ixtic,iytic;
int   ixlog,iylog;
int   clear,color,linestyle,marker;
float posx,posy;


	clear = 0;
	color = 0;
	linestyle = 0;
	marker = 0;
	posy=0.1;

/*========================================================================================
 START MGRAPH_SP MODULE: run_mgraph
        LOGIN:  login name; 		if NULL will be the current login
        SHELL:  "rsh" or "remsh"; 	if NULL will be  "remsh"
        PATH :  path where the program is
        PROG :  name of the program (Mgraph_sp)
        COMPUTER:       name of the computer where the program has to
                        be launched; 	if NULL will be the server name
	DISPLAY: Your Display Id; 	if NULL will be your DISPLAY address
                                             from your environment
==========================================================================================*/

        Mgraph_no = 1;
	if(!run_mgraph(Mgraph_no,LOGIN,SHELL,PATH,PROG,COMPUTER,DISPLAY))
	{
		printf("Cannot start Mgraph\n");
		exit(0);
	}

	nbp = 512;
	xx = (float *) malloc( sizeof(float) * nbp );
	yy = (float *) malloc( sizeof(float) * nbp );

/*========================================================================================
SEND_RESIZE WINDOW
	int width,height      = window size  in pixel
==========================================================================================*/

	width=600;
	height=500;
	nwindow = 1;
	send_resize(Mgraph_no,nwindow,width,height);

/*=========================================================================================
SEND TITLE
	char title[] = the text which is to be shown
==========================================================================================*/

	strcpy(title,"y=sin(x) Window 1");
	send_title(Mgraph_no,nwindow,title);

/*=========================================================================================
SEND AXES
send_xaxes2(client_id,window,legend,format,label_size,min,max,grid,
            color,thickness,rotation,step,ref,tick,log,Formula);

	CAREFUL with types !!!
      char  legend               The text which is displayed under the axis
      char  format               the C format formulation   ("%.2f" for ex.)
      float label size           factor on label size 
      float min,max              the limits of axis (-1 : uses the best)
      int   grid                 10= grid 11= half tone 12= no grid    
      int   color                color type (3=black)
      int   thickness            thickness of the line factor
      float rotation             label text rotation in degrees
      float step                 the step in your units between two ticks (-1:uses the best)
      float ref                  reference value   (-1 : uses the best)
      int   tick                 step (in ticks) between two labeled ticks  (-1 : uses the best)
      int   log                  0=linear 1=logarithm  2=formula 3=time  4=degree
      char  Formula[]            (if log = 2)
============================================================================================*/

      xmin = 0.;
      xmax = 3.15;
      xstep= -1.;
      xbase= -1.;
      grid= 12;
      ixtic= -1;
      ixlog=  2;

 	send_xaxes2(Mgraph_no,nwindow,"0 <angle< $p","%.2f",1.0,
			xmin,xmax,grid,3,1,30.0,xstep,xbase,ixtic,ixlog,XFormula);

      ymin = 0.;
      ymax = 10.;
      ystep= -1.;
      ybase= -1.;
      iytic= -1;
      iylog=  0;

	send_yaxes2(Mgraph_no,nwindow,"computed sinus","%.2f",1.0,
			ymin,ymax,grid,3,1,30.0,ystep,ybase,iytic,iylog,YFormula);

	coef = 1.;

	for(plot_no=1;plot_no<5;plot_no++){

/*=======================================================================================
	Compute data...
=========================================================================================*/

	    for(i=0;i<nbp;i++){
	        xx[i] = (float)i * 3.141592 / nbp;
	        yy[i] = coef * sin((double)xx[i]) ;
	    }

/*========================================================================================
 SEND DATA ON WINDOW nwindow
send_data2(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize);

     int plot_nb      Number of the curve (-1 will determine an available one)
     int nbp          Number of points in the data
     float xx         x    data
     float yy         f(x) data
     int color
     int style
     int mark
     int thickness 
     int marksize 
========================================================================================*/

	    send_data2(Mgraph_no,nwindow,clear,plot_no,nbp,xx,yy,color,linestyle,marker,1,1);

/*===========================================================================================
ADD TEXT ON WINDOW
        send_text2(client_id,window,color,rotation,size,bold,x_pos,y_pos,text,relative);
   float rotation       rotation angle in degree
   float size           factor size of the text
   int   bold           0->plain text  1->bold text
   float x_pos,y_pos    position of the marker (or the text)
   char  text           the text which is to be shown
   int   relative       0->relative to frame in % 1->relative to real coordinates
===========================================================================================*/

	    posx = 80;
	    sprintf(texte,"%.5f %c",3.141592 * plot_no,0);
	    send_text2(Mgraph_no,nwindow,color,0.0,1.,0,posx,posy,texte,0);
	    color++;
	    if (color>12) color = 0;
	    posy += 5;
	    printf("You can adjust your curve in your program\n");
            printf("enter new coef (between 1-10) for a new curve: ");
	    scanf("%g",&coef);
	}

/*====================================================================================
ANIMATE PLOTS
	int elapse_time   10 -> 100
	int step    > 1 if the animation is too slow
======================================================================================*/

	send_animate(Mgraph_no,nwindow,100,1);
	printf("Touch the plot Window 1 to animate.... \n");

/*====================================================================================
 	New Window, same Mgraph,  with the cosinus...
======================================================================================*/
      nwindow = 2;
      strcpy(title,"y=cos(x) Window 2");
      send_title(Mgraph_no,nwindow,title);

      send_xaxes2(Mgraph_no,nwindow,"Angle","%.1f",1.0,0.,10.,11,3,1,30.0,-1.,5.,2,4,XFormula);
      send_yaxes2(Mgraph_no,nwindow,"cos(x)","%.2f",1.0,-1.,-1.,11,3,1,30.0,ystep,ybase,2,0,YFormula);

      color=0;
      clear=1;
      linestyle=2;

      for(plot_no=0; plot_no<5; plot_no++){
         for(i=0;i<nbp;i++){
            *(xx+i) = i * 3.141592 * plot_no / nbp;
            *(yy+i) = cos(*(xx+i))* plot_no/10.;
         }
          send_data2(Mgraph_no,nwindow,clear,-1,nbp,xx,yy,color,linestyle,marker,1,1);
          color++;
          linestyle++;
          clear=0;
      }


/*===========================================================================================
EXIT_MAIN_PROGRAM
	before quitting your main program,  call send_end_dialog
	to keep Mgraph running
===========================================================================================*/

	send_end_dialog(Mgraph_no);
	free(xx);
	free(yy);
}

Si le fichier prog.c contient ce programme, lancer la commande de compilation:

cc prog.c -o prog lib_Net_Mgraph.a -lm

3.4  Exemples de programmes FORTRAN :

c==================================================================
c       SHORT PROGRAM:
c       You just need 3 calls to draw a curve:
c       run_mgraph:       Calling of the software
c       send_data2:       Drawing of 1 curve (sin) 
c       send_end_dialog:  Close Dialog: Mgraph remains active
c==================================================================
      CHARACTER*(*) PROG,PATH
      PARAMETER (PATH ='/usr/local/bin/')
      PARAMETER (PROG ='Mgraph_sp')

      real xx(512),yy(512)
      nbp =512
      Mgraph_no = 1
      nwindow = -1
C========================================================================================
c START MGRAPH_SP MODULE: run_mgraph_f
c        LOGIN:  login name;             if NULL will be the current login
c        SHELL:  "rsh" or "remsh";       if NULL will be  "remsh"
c        PATH :  path where the program is
c        PROG :  name of the program (Mgraph_sp)
c        COMPUTER:       name of the computer where the program has to
c                        be launched;    if NULL will be the server name
c        DISPLAY: Your Display Id;       if NULL will be your DISPLAY address
c                                             from your environment
C========================================================================================

      call run_mgraph_f(Mgraph_no," "," ",PATH,PROG," "," ")
c
c Compute the data
c
      do i = 1,nbp
            xx(i) = i * 3.141592 /nbp
            yy(i) = sin(xx(i))
      enddo
c-----------------------------------------------
c   nwindow    : Number of window 
c   1     : window will be cleared
c   1     : number of the plot
c   nbp   : Number of points in xx and yy arrays
c  xx,yy  : data arrays
c   1     : color of the curve (1=blue)
c   0     : line style (0=solid)
c   4     : mark style (4=square)
c   1     : line thickness
c   1     : mark size
c------------------------------------------------*/
      call send_data2_f(Mgraph_no,nwindow,1,1,nbp,xx,yy,1,0,4,1,1)

c===========================================================================================
c EXIT_MAIN_PROGRAM
c       before quitting your main program,  call send_end_dialog
c       to keep Mgraph running
c===========================================================================================

      call send_end_dialog_f(Mgraph_no)
      stop
      end

c-----------------------------------------------
c  RELATED PROGRAM: drawing with interaction between software and Mgraph
c -----------------------------------------------
c COMMON VARIABLES:
c    integer Mgraph_no Sequence number of the software;
c                        several Mgraph can be launched at the same time id (several Mgraph can be launched)
c    integer nwindow   Number of window in which the data will be shown (-1=Current)
c    integer color     Number of the color: from 0 to 12:
c                         Red, Blue, Magenta, Black, Green, Forest, Sienna,
c                         Yellow, Coral, Violet, Plum, Cyan, Turquoise
c                         Plum, Cyan,Turquoise
c                        and 16 for the White
c    integer linestyle Style of the line: from 0 to 7:
c                         Solid, NoLine, MicroDash, SmallDash,
c                           Dash, LongDash, DashDot, LineDot
c    integer marker    Style of the marker: from 0 to 15:
c                         NoMark, BigDot, SmallDot, Cross, X, Square,
c                         Diamond, TriangleUp, TriangleDown, Circle
c                         filled: Square, Diamond, TriangleUp, TriangleDown, Circle
c-----------------------------------------------


      CHARACTER*(*) LOGIN,SHELL,PROG,PATH,COMPUTER
      CHARACTER*(*) X_FORMULA,Y_FORMULA,DISPLAY
      PARAMETER (LOGIN=" ")
      PARAMETER (SHELL=" ")
      PARAMETER (PATH ="//usr/local/bin/")
      PARAMETER (PROG ="Mgraph_sp")
      PARAMETER (COMPUTER =" ")
      PARAMETER (DISPLAY = " ")
      PARAMETER (X_FORMULA= "cos(x)")
      PARAMETER (Y_FORMULA=" ")

      character*128 title,text
      real xx(512),yy(512)
      integer width,height

      iclear = 0
      icolor = 0
      linestyle = 0
      marker = 0 
      py = 0.1

c========================================================================================
c START MGRAPH_SP MODULE: run_mgraph_f
c       LOGIN:  login name;             if NULL will be the current login
c       SHELL:  "rsh" or "remsh";       if NULL will be  "remsh"
c       PATH :  path where the program is
c       PROG :  name of the program (Mgraph_sp)
c       COMPUTER:       name of the computer where the program has to
c                       be launched;    if NULL will be the server name
c       DISPLAY: Your Display Id;       if NULL will be your DISPLAY address
c                                            from your environment
c==========================================================================================

      Mgraph_no = 1
      call run_mgraph_f
     *(Mgraph_no,LOGIN,SHELL,PATH,PROG,COMPUTER,DISPLAY)


c========================================================================================
c SEND_RESIZE WINDOW
c        integer width,height      = window size  in pixel
c==========================================================================================

      width=600
      height=500
      nwindow = 1
      call send_resize_f(Mgraph_no,nwindow,width,height)

c=====================================================================
c SEND TITLE
c    call send_title_f(client_id,window,title)
c       character* title = the text which is to be shown
c=====================================================================

      write(title,'(A)')"y=sin(x) Window 1"
      call send_title_f(Mgraph_no,nwindow,title)

c=====================================================================
c SEND AXES
c         CAREFUL with types !!!
c    call send_xaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
c            color,thickness,rotation,step,ref,tick,log,Formula)
c       character*  legend             The text which is displayed under the axis
c       character*  format             the C format formulation   ("%.2f" for ex.)
c       real        label size         factor on label size
c       real        min,max            the limits of axis (-1 : uses the best)
c       integer     grid               10= grid 11= half tone 12= no grid
c       integer     color              color type (3=black)
c       integer     thickness          thickness of the line factor
c       real        rotation           label text rotation in degrees
c       real        step               the step in your units between two ticks (-1:uses the best)
c       real        ref                reference value   (-1 : uses the best)
c       integer     tick               step (in ticks) between two labeled ticks  (-1 : uses the best)
c       integer     log                0=linear 1=logarithm  2=formula 3=time  4=degree
c       character*  Formula            (if log = 2)
c=====================================================================

      xmin = 0.
      xmax = 3.15
      xstep= -1.
      xbase= -1.
      igrid= 12
      ixtic= -1
      ixlog=  2

      call send_xaxes2_f(Mgraph_no,nwindow,"0 <angle< $p","%.2f",1.0,
     &	xmin,xmax,igrid,3,1,30.0,xstep,xbase,ixtic,ixlog,X_FORMULA)
 
      ymin = 0.
      ymax = 10.
      ystep= -1.
      ybase= -1.
      iytic= -1
      iylog=  0
 
      call send_yaxes2_f(Mgraph_no,nwindow,"computed sinus","%.2f",1.0,
     &	ymin,ymax,igrid,3,1,30.0,ystep,ybase,iytic,iylog,Y_FORMULA)

      va = 1
      nbp = 512
      do iplot = 1,5
c=====================================================================
c Compute data...
c=====================================================================

         do i = 1,nbp
            xx(i) = i * 3.141592 / nbp
            yy(i) = va * sin(xx(i))
         enddo

c=====================================================================
c SEND DATA ON WINDOW 
c    call send_data2(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize)
c
c     integer clear 	   does the window have it to be cleared? (0=no 1=yes)
c     integer plot_nb	   Number of the curve (-1 will determine an available one)
c     integer nbp	   Number of points in the data
c     real    xx	   x    data
c     real    yy	   f(x) data 
c     integer color 	   
c     integer style
c     integer mark 
c     integer thickness
c     integer marksize
c=====================================================================

         call send_data2_f(Mgraph_no,nwindow,iclear,iplot,
     &			  nbp,xx,yy,icolor,linestyle,marker,1,1)
         icolor = icolor + 1
	 if (icolor.gt.12)icolor = 1

c=====================================================================
c ADD TEXT ON WINDOW 
c    call send_text2_f(client_id,window,color,rotation,size,bold,x_position,y_position,text,relative)
c  real           rotation       rotation angle in degree
c  real           size           factor size of the text
c  integer        bold           0->plain text  1->bold text
c  real           x_pos,y_pos    position of the marker (or the text)
c  character*(*)  text           the text which is to be shown
c  integer        relative       0->relative to frame in % 1->relative to real coordinates
c=====================================================================

 	 px = 80.
 	 py = py + 5
         write(text,"(f5.2)")3.141592 * iplot

         call send_text2_f(Mgraph_no,nwindow,icolor,
     *          0.0,1.,0,px,py,text,0)

	 print *,'You can adjust your curve in your program'
         print*,"enter new coef (between 1-10) for a new curve:"
         read(5,*)va

        enddo


c=====================================================================
c  ANIMATE PLOTS     
c  integer elapse time   10 -> 100
c  integer step   > 1 if the animation is too slow
c=====================================================================

      call send_animate_f(Mgraph_no,nwindow,10,1)
	 print *,"Touch the plot Window 1 to animate...."

c=====================================================================
c New Window, same Mgraph,  with the cosinus...
c=====================================================================
      nwindow = 2
      write(title,'(A)')"y=cos(x) Window 2"
      call send_title_f(Mgraph_no,nwindow,title)

      call send_xaxes2_f(Mgraph_no,nwindow,"Angle","%.1f",1.0,
     &  0.,10.,11,3,1,0.0,-1.,5.,2,4,X_FORMULA)
      call send_yaxes2_f(Mgraph_no,nwindow,"cos(x)","%.2f",1.0,
     &  -1.,-1.,11,3,1,0.0,ystep,ybase,2,0,Y_FORMULA)

      icolor=0
      iclear=1
      linestyle=2

      do iplot = 1,5
         do i = 1,nbp
            xx(i) = i * 3.141592 * iplot / nbp
            yy(i) = cos(xx(i))* iplot/10.
         enddo
	  call send_data2_f(Mgraph_no,nwindow,iclear,-1,
     &			nbp,xx,yy,icolor,linestyle,marker,1,1)
	  icolor = icolor + 1
	  linestyle = linestyle + 1
	  iclear=0
      enddo


c=====================================================================
c  EXIT MAIN PROGRAM
c before quitting your main program,  call send_end_dialog_f
c to keep Mgraph running
c=====================================================================

      call send_end_dialog_f(Mgraph_no)
      stop
      end

Si le fichier prog.f contient ce programme, lancer la commande de compilation:

f77 prog.f -o prog lib_Net_Mgraph.a

**********************************************************

Chapitre 4
CGI

**********************************************************

Utilisation de Mgraph dans un script CGI

Afin de gérer convenablement l'utilisation de Mgraph par Internet, il faut faire particulièrement attention à certains paramètres du serveur:
Le serveur doit permettre l'utilisation de scripts CGI.
Pour un serveur apache, il suffira de se reporter aux fichiers de configuration (access.conf, httpd.conf ou srm.conf) afin d'autoriser l'accès au répertoire contenant les scripts.

Voici un exemple d'utilisation de Mgraph dans une succession de scripts écrits en langage C et en PERL.


  • Exemple de formulaire en HTML
    Ce formulaire permet le lancement du fichier CGI.
        <HTML>
          <HEAD><TITLE>The Mgraph Demo Form</TITLE></HEAD>
          <CENTER><H1>The Mgraph Demo Form</H1>
            <H3>Here is a basic example of an html form,<BR>
                a simple submit button to call a cgi script:<BR>
            </H3>
    
            <FORM ACTION="/cgi-bin/Mgraph.cgi" method="post">
               <INPUT TYPE="SUBMIT" name="submit" value="Launch Shell Demo">
            </FORM>
            <FORM ACTION="/cgi-bin/Mgraph.pl" method="post">
               <INPUT TYPE="SUBMIT" name="submit" value="Launch Perl  Demo">
            </FORM>
          </CENTER>
        </HTML>
    

  • Programme C
    Ce programme génère un fichier de données x,y,z représentant une surface. Il est utilisé dans le script sous le nom de ``sub''.
    #include <stdio.h>
    #include <math.h>
    
    /* This program (called "Mgraph_with_cgi_example" in examples) 
       generates a surface data file */
    
    main()
    {
     int i,j,n;
     double xs,ys,x,y,z;
    	
    	n = 50;
     	xs= 6.0 / n;
     	ys= 6.0 / n;
    
     	for(i=0;i<=n;i++){
      	    x= -3. + i * xs;
      	    for(j=0;j<=n;j++){
       	        y= -3. + j * ys;
       	        z=cos(x*y*2);
       	        printf(" %g %g %g\n",x,y,z);
      	    }
     	}
    }
    

  • Fichier de commandes.
    Ce fichier sera utilisé par le script ci-dessous.
    Ce fichier de commandes a lui-même été généré par Mgraph . Il s'appelle My_com_file dans le script ci-dessous.

    SetSignature    ""
    ReadSurface     File="/tmp/WWW/out_file" Mode=IRREGULAR  Ncolumns=3 Xcolumn=1 Ycolumn=2 Zcolumn=3 "
    
    PlotTitle       Title="Here is the result" Height=1.00
    Grid            Frame=Yes Xgrid=No Ygrid=No
    
    ContourDef      Smooth=No Background=Transp ForeGround=Undef IdealDistance=1 Size=1 CFormat="%.3g"
    SurfaceLUT      LutNumber=2
    AddObject       Surface
    
    XTitle          Title="X" Height=1.00
    XAxis           Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1
    XLabel          LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="" Angle=0.0
    YTitle          Title="Y" Height=1.00
    YAxis           Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1
    YLabel          LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="" Angle=0.0
    
    SendToFile      File="/tmp/WWW/out_file.ps" Type=Color Size=15.0 SquareFrame=No Copies=1 \
    		Orientation=Portrait
    
    

  • Exemple de script en SHELL
    Ce script commence par lancer le programme précédent, puis lance Mgraph sur le fichier de comnmande ci-dessus qui lit les données qui viennent d'être créées et qui constitue un fichier PostScript.
    Si nécessaire, il offre la possibilité de construire une image gif (ici, utilisation de ps2gif).

    
    #!/bin/sh
    
    # /usr/LOA/bin (directory) contains:
    #               Mgraph
    #               Mgraph_with_cgi_example (creates a surface data file)
    #               My_com_file             (command file for Mgraph)
    # /usr/local/bin/ (directory) contains:
    #               ghostscript
    #               ps2gif
    
    #creation of data
          /usr/LOA/bin/Mgraph_with_cgi_example > /tmp/WWW/out_file
    
    #Mgraph call (creation of PS file, the command file(My_com_file) exist)
          /usr/bin/rm -f /tmp/WWW/out_file.ps
          /usr/LOA/bin/Mgraph /usr/LOA/bin/My_com_file > /dev/null
    
    #Convert postscript in gif
          /usr/local/bin/ps2gif /tmp/WWW/out_file.ps /tmp/WWW/out_file.gif > /dev/null
    
    # /Mgraph_tmp/ (directory) is a link on /tmp/
    # This is  fixed by Apache Administrator (see access.conf)
    
          echo "Content-type: text/html \n\n"
          echo "<HTML>"
              echo "<HEAD>"
                  echo "<TITLE>The Mgraph's output</TITLE>"
              echo "</HEAD>"
              echo "<BODY>"
                  echo '<IMG SRC="/Mgraph_tmp/WWW/out_file.ps">'
                  echo '<IMG SRC="/Mgraph_tmp/WWW/out_file.gif">'
              echo "</BODY>"
          echo "</HTML>"
    
    

  • Exemple de script en PERL Ce script commence par lancer le programme précédent, puis lance Mgraph sur le fichier de comnmande généré lui-même en PERL.
    #!/usr/local/bin/perl
    
    #Names of the files
            $process_id = $$;
            $out_file  =join(".",$process_id,"Mgraph","out");
            $com_file  =join(".",$process_id,"Mgraph","com");
            $ps_file   =join(".",$process_id,"Mgraph","ps");
            $gif_file  =join(".",$process_id,"Mgraph","gif");
    
    #Document head
            print "Content-type: text/html\n\n";
            print "<HTML>\n";
            print "<HEAD>\n";
            print "<TITLE>The Mgraph's output</TITLE>\n";
            print "</HEAD>\n";
            print "<CENTER><H1>The Mgraph's output</H1>\n";
    
    #The processing
    
    # Internal Creation of the command file
            open(COM,"> /tmp/WWW/$com_file");
            print COM &CreeCom;
            close(COM);
    
    #calls
    #program call
            system(" /usr/LOA/bin/Mgraph_with_cgi_example >  /tmp/WWW/$out_file");
    #Mgraph call
            system(" /usr/bin/rm  /tmp/WWW/$ps_file > /dev/null");
            system(" /usr/LOA/bin/Mgraph  /tmp/WWW/$com_file > /dev/null");
    #Convert postscript in gif
            system(" /usr/local/bin/ps2gif /tmp/WWW/$ps_file /tmp/WWW/$gif_file > /dev/null");
    
    #document foot
            print "<IMG SRC=\"/Mgraph_tmp/WWW/$gif_file\">\n";
            print "</HTML>\n";
    
    #the subroutine CreeCom creates the command file
    sub CreeCom {
    
    $output = "SetSignature \"\" \n";
    $output .="ReadSurface File=\"/tmp/WWW/$out_file\" Mode=IRREGULAR Xcolumn=1 Ycolumn=2 Zcolumn=3 \n";
    $output .="PlotTitle Title=\"Here is the result\" Height=1.00\n";
    $output .="Grid Frame=Yes Xgrid=No Ygrid=No\n";
    $output .="ContourDef Smooth=No Background=Transp ForeGround=Undef IdealDistance=1 Size=1 
    			CFormat=\"\%.3g\"\n";
    $output .="SurfaceLUT LutNumber=2\n";
    $output .="AddObject Surface\n";
    $output .="XTitle Title=\"X\" Height=1.00\n";
    $output .="XAxis Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1\n";
    $output .="XLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat=\"\" Angle=0.0\n";
    $output .="YTitle Title=\"Y\" Height=1.00\n";
    $output .="YAxis Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1\n";
    $output .="YLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat=\"\" Angle=0.0\n";
    $output .="SendToFile File=\"/tmp/WWW/$ps_file\" Type=Color Size=15.0000 SquareFrame=No
    			 Orientation=Portrait \n";
    }
    
    

**********************************************************

Chapitre 5
FAQ

**********************************************************

  • Méthode rapide pour tracer un fichier ASCII

    cat DATA | Mgraph



  • Caractères spéciaux dans les textes:

    Dans toutes les chaînes de caractères vous pouvez utiliser des symboles, des exposants, des indices, des accents. Il suffit de les encoder de la manière suivante:

    Caractères spéciaux: \n retour à la ligne
    \\ \
    Accents, etc. \`e è
    \'e é
    \ê ê
    \ë ë
    même chose pour a,e,i,o,u,A,E,I,O,U
    \'Y Ý
    \`y \`y
    \ÿ ÿ

    Symboles \pounds £
    \S §
    \copyright ©
    \pm ±
    \P
    \AA Å (Angstrom)
    \AE Æ
    \cC C
    \ ~ N Ñ
    \times ×

    Symboles \ss ß
    \aa å (angstrom)
    \ae æ
    \cc c
    \ ~ n ñ
    \div ¸
    \o Æ
    ${a+b} a+b
    $mm mm
    $$ $

    exposants et indices _{sub} met en indice la chaîne 'sub'
    _nm met en indice la lettre n
    __ _
    ^{sup} met en exposant la chaîne 'sup'
    ^nm met en exposant la lettre n mais pas le m
    ^^^

    exemples:
    A^{$a^2} donne Aa2
    X^{y_{1+n}} donne Xy1+n
    A^i_j donne Aij



  • Voulez voulez tracer une colonne en fonction d'un incrément (1 à n points):
    Menu Files - > Read files
    Taper 0 dans l'éditeur X column
    Taper le numéro de la colonne dans l'éditeur Y column
    Exécuter Apply



  • Vous voulez tracer un axe dans le sens décroissant: par exemple : tracer l'axe des y en pression (de 1023 à 0)

    Menu Settings - > Axis setting
    utiliser user formula à la place de linear scale
    dans l'éditeur taper: -y
    Exécuter Apply



  • Vous voulez changer la présentation d'un axe: par exemple: l'axe des X va de 0 à 1.e+9.
    Mgraph le visualisera automatiquement de 0 à 1000 avec un titre: `X 106'.
    Vous préférez le représenter par: 0 à 10 et le titre X 108:
    Menu Settings - > Plot annotation
    Choisir `Extra axis' puis `Bottom axis'
    Mini:0 Maxi 10 Title:X 108 Color:black
    Exécuter Apply



  • Vous voulez superposer 2 courbes aux limites différentes:

    par exemple: la courbe Y1=f(X) a ses ordonnées comprises entre 0.5 et 1 et la courbe Y2=f(X) a ses ordonnées comprises entre 0 et 100. Les limites ont été automatiquement fixées à 0-100.

    Menu Math - > Formula
    Taper l'équation: 'y1= (y1-0.5)*200'
    Exécuter Apply

    La courbe 1 est maintenant tracée entre 0 et 100
    Menu Settings - > Plot_annotations
    Sélectionner Extra_axis et Right_axis en donnant les limites 0.5 et 1.
    Exécuter Apply



  • Vous voulez ré-échantillonner les données d'une courbe:

    Menu Math- > Formula
    Remplir les éditeurs X domain
    Taper l'équation: 'y1=y1' or 'x1=x1'.
    Exécuter Apply



  • Vous voulez supprimer une légende parmi plusieurs:

    par exemple, vous avez tracé une courbe avec des écarts types. La légende sera représentée par 2 traits: la courbe et les écarts-types. Vous désirez ne conserver que la représentation de la courbe:

    Menu Settings- > Edit legend
    visualisez la légende correspondant aux écarts types
    activez le bouton Masked



  • Vous voulez ajouter du bruit à une courbe:

    Menu Math - > Formula
    écrire dans l'éditeur d'équation:
    y= y1 + rnd()
    Exécuter Apply



  • Vous voulez supprimer le dessin des 4 axes:

    Menu Settings- > Plot setting
    activer no frame
    Menu Settings- > Axis setting
    sélectionner X axis
    activer No axis
    sélectionner Y axis
    activer No axis



  • Vous voulez tracer y1=f(y2):

    Vous avez tracé 2 courbes y1=f(x1) et y2=f(x2). Les abscisses ne sont pas communes aux 2 courbes mais recouvrent le même espace. Vous voulez visualiser la corrélation entre les 2 fonctions, soit: y1=f(y2)

    Menu Math - > Formula
    écrire dans l'éditeur d'équation:
    x1 = y2

    De la même manière, vous pouvez exécuter la différence de 2 fonctions qui ont des abscisses différentes. ATTENTION ! Cette formulation nécessitant une interpolation sur les abscisses, elle peut prendre du temps si l'opération est effectuée sur un grand nombre de points.



  • Vous voulez utiliser le système d'alias pour introduire un nom de fichier variable dans un fichier de commande (.com).

    Créez un fichier (AliasFile par ex) contenant les alias des noms de fichiers:
    ex: @file1 "data1"
    @file2 "data2" etc..
    Dans le fichier de commande , après la ligne:
    SetAlias
    Il suffit de rajouter:
    Readfile file=ÄliasesFile"
    puis d'utiliser @file1, @file2 etc... comme un alias ordinaire
    ex: ReadBinSurface File=@file1



  • Vous voulez ajouter à un fichier des colonnes provenant d'un autre fichier:

    pr -t -m -s' ' file1 file2 > file3
    ou paste file1 file2 > file3



  • Pour visualiser les accents dans la fenêtre du manuel:

    Il suffit d'utiliser une police de caractères de type 8bits: Ajouter dans votre .Xdefaults:

    "-Adobe-Courier-Bold-r-Normal-*-12-*-*-*-*-*-iso8859-*"

    « iso8859 » est la référence de l'alphabet latin (spécification de l'ISO qui code sur 8 bits tous les caractères des langues latines avec les accents langues latines, seule subsiste une difficulté avec les ligatures comme le e dans l' o).

**********************************************************

Annexe A
Exemples de fichiers de commandes

Les fichiers de commandes ci-dessous ont été créés directement par Mgraph interactif.


SetSignature	"L.O.A. Computer Team "


#############################################################

ReadSurface      File="DATA/cos_surface.data" Mode=IRREGULAR  \
	Ncolumns=3 Nlines=2500  LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3  \
	UndefValue=-8421 Zmin=-1 Zmax=-1

PlotTitle     Title="Mgraph perspective" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 


#BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale 
#REMOVE Square brackets if you use optional limits 
SurfaceGeometry [Xmin=0 Xmax=49 Ymin=0 Ymax=49]    DistanceFactor=1 XYRatio=1 Interpolation=No
3DView  Up/Down=60  Right/Left=45  GroundLevel=0 Stretch=0.93 Shift=0.09  GridSize=40 Color=Black Thickness=2
 Add3DView      Surface  [Top Bottom Grid Surface]
SurfaceLUT          LutNumber=2

XTitle        Title="X" Height=0.00
XAxis Show=Yes     Scale=Linear    Min=0    Max=49  Delta=-1  Color=Black  Thickness=1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
YTitle        Title="Y" Height=0.00
YAxis Show=Yes     Scale=Linear    Min=0    Max=49    Delta=-1  Color=Black  Thickness=1  
YLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
ZTitle        Title="Z" Height=0.00
ZAxis Show=Yes     Scale=Linear    Min=-0.999984    Max=0.999989    Delta=-1  Color=Black  Thickness=1  
ZLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0

DrawCell     XStart=2.0000   YStart=2.0000   Width=7.0000   Height=7.0000\
	Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame] 

#############################################################

ReadSurface      File="DATA/cos_surface.data" Mode=IRREGULAR  \
	Ncolumns=3 Nlines=2500  LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3  \
	UndefValue=-8421 Zmin=-1 Zmax=-1

PlotTitle     Title="Mgraph perspective" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 

#BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale 
#REMOVE Square brackets if you use optional limits 
SurfaceGeometry [Xmin=0 Xmax=49 Ymin=0 Ymax=49]    DistanceFactor=1 XYRatio=1 Interpolation=No
3DView  Up/Down=60  Right/Left=45  GroundLevel=0 Stretch=0.93 Shift=0.09  GridSize=40 Color=Black Thickness=2
 Add3DView      Grid  [Top Bottom Grid Surface]
SurfaceLUT          LutNumber=2

XTitle        Title="X" Height=0.00
XAxis Show=Yes     Scale=Linear    Min=0    Max=49  Delta=-1  Color=Black  Thickness=1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
YTitle        Title="Y" Height=0.00
YAxis Show=Yes     Scale=Linear    Min=0    Max=49    Delta=-1  Color=Black  Thickness=1  
YLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
ZTitle        Title="Z" Height=0.00
ZAxis Show=Yes     Scale=Linear    Min=-0.999984    Max=0.999989    Delta=-1  Color=Black  Thickness=1  
ZLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0

DrawCell     XStart=12.0000   YStart=2.0000   Width=7.0000   Height=7.0000\
	Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame] 

#############################################################

ReadSurface      File="DATA/gerard_surface.data" Mode=IRREGULAR  \
	Ncolumns=3 Nlines=464  LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3  \
	UndefValue=-8421 Zmin=-1 Zmax=-1

PlotTitle     Title="Radiometer field of view" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 

#BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale 
#REMOVE Square brackets if you use optional limits 
SurfaceGeometry [Xmin=-7 Xmax=8 Ymin=-7 Ymax=7]    DistanceFactor=1 XYRatio=1 Interpolation=No
3DView  Up/Down=30  Right/Left=30  GroundLevel=0 Stretch=1 Shift=0.45  GridSize=40 Color=white Thickness=2
 Add3DView      Grid Surface  [Top Bottom Grid Surface]
SurfaceLUT          LutNumber=2

XTitle        Title="$t$_x" Height=1.00
XAxis Show=Yes     Scale=Linear    Min=-5.16    Max=7.212  Delta=-1  Color=Black  Thickness=1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.00   CFormat=""  Angle=0.0
YTitle        Title="$t$_y" Height=1.00
YAxis Show=Yes     Scale=Linear    Min=-6.402    Max=4.7    Delta=-1  Color=Black  Thickness=1  
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.00   CFormat=""  Angle=0.0
ZTitle        Title="Normalized signal intensity" Height=0.00
ZAxis Show=Yes     Scale=Linear    Min=-0.09414    Max=0.9998    Delta=-1  Color=Black  Thickness=1  
ZLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0

DrawCell     XStart=12.0000   YStart=11.0000   Width=7.0000   Height=7.0000\
	Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame] 

#############################################################

ReadSurface      File="DATA/riedi_surface.data" Mode=IRREGULAR  \
	Ncolumns=3 Nlines=165  LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3  \
	UndefValue=-8421 Zmin=-1 Zmax=-1

PlotTitle     Title="" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 

#BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale 
#REMOVE Square brackets if you use optional limits 
SurfaceGeometry [Xmin=203 Xmax=217 Ymin=93 Ymax=103]    DistanceFactor=1 XYRatio=1 Interpolation=No
3DView  Up/Down=15  Right/Left=35  GroundLevel=10.047 Stretch=1 Shift=0  GridSize=32 Color=Black Thickness=2
 Add3DView      Top Bottom Grid  [Top Bottom Grid Surface]
SurfaceLUT          LutNumber=2

XTitle        Title="X" Height=0.00
XAxis Show=Yes     Scale=Linear    Min=203    Max=217  Delta=-1  Color=Black  Thickness=1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
YTitle        Title="Y" Height=0.00
YAxis Show=Yes     Scale=Linear    Min=93    Max=103    Delta=-1  Color=Black  Thickness=1  
YLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
ZTitle        Title="Z" Height=0.00
ZAxis Show=Yes     Scale=Linear    Min=9.46476    Max=10.6292    Delta=-1  Color=Black  Thickness=1  
ZLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0

DrawCell     XStart=12.0000   YStart=20.0000   Width=7.0000   Height=7.0000\
	Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame] 

#############################################################

ReadSurface      File="DATA/cos_surface.data" Mode=IRREGULAR  \
	Ncolumns=3 Nlines=2500  LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3  \
	UndefValue=-8421 Zmin=-1 Zmax=-1

PlotTitle     Title="Mgraph perspective" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 

#BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale 
#REMOVE Square brackets if you use optional limits 
SurfaceGeometry [Xmin=0 Xmax=49 Ymin=0 Ymax=49]    DistanceFactor=1 XYRatio=1 Interpolation=No
3DView  Up/Down=60  Right/Left=45  GroundLevel=0.000918478 Stretch=0.77 Shift=0.09  GridSize=30 Color=White Thickness=2
 Add3DView      Grid Surface  [Top Bottom Grid Surface]
SurfaceLUT          LutNumber=2

XTitle        Title="X" Height=0.00
XAxis Show=Yes     Scale=Linear    Min=28.1786    Max=43.4406  Delta=-1  Color=Black  Thickness=1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
YTitle        Title="Y" Height=0.00
YAxis Show=Yes     Scale=Linear    Min=7.47675    Max=29.71    Delta=-1  Color=Black  Thickness=1  
YLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
ZTitle        Title="Z" Height=0.00
ZAxis Show=Yes     Scale=Linear    Min=-0.999984    Max=0.999989    Delta=-1  Color=Black  Thickness=1  
ZLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0

DrawCell     XStart=2.0000   YStart=11.0000   Width=7.0000   Height=7.0000\
	Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame] 

#############################################################

ReadSurface      File="DATA/riedi_surface.data" Mode=IRREGULAR  \
	Ncolumns=3 Nlines=165  LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3  \
	UndefValue=-8421 Zmin=-1 Zmax=-1

PlotTitle     Title="" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 

#BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale 
#REMOVE Square brackets if you use optional limits 
SurfaceGeometry [Xmin=203 Xmax=217 Ymin=93 Ymax=103]    DistanceFactor=1 XYRatio=1 Interpolation=No
3DView  Up/Down=15  Right/Left=30  GroundLevel=10.047 Stretch=1 Shift=0  GridSize=20 Color=Black Thickness=2
 Add3DView      Top Bottom Surface  [Top Bottom Grid Surface]
SurfaceLUT          LutNumber=2

XTitle        Title="X" Height=0.00
XAxis Show=Yes     Scale=Linear    Min=203    Max=217  Delta=-1  Color=Black  Thickness=1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
YTitle        Title="Y" Height=0.00
YAxis Show=Yes     Scale=Linear    Min=93    Max=103    Delta=-1  Color=Black  Thickness=1  
YLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0
ZTitle        Title="Z" Height=0.00
ZAxis Show=Yes     Scale=Linear    Min=9.46476    Max=10.6292    Delta=-1  Color=Black  Thickness=1  
ZLabel        LabelStep=-1    Reference=-1   LabelHeight=0.00   CFormat=""  Angle=0.0

DrawCell     XStart=2.0000   YStart=20.0000   Width=7.0000   Height=7.0000\
	Type=Color   Orientation=Portrait  Mode=Margin[|ScaleToFrame] 

SendTo[EPS]File   File="OUT/3D.ps"  Type=Color    [Copies=1]   Orientation=Portrait
    

3D.gif


ReadSurface      File="DATA/xtract_arm19961205" Mode=IRREGULAR  \
	Ncolumns=7 Nlines=900  LinesToSkip=0 Xcolumn=3 Ycolumn=2 Zcolumn=7   UndefValue=-8421  \
	 Zmin=0 Zmax=1050

PlotTitle     Title="Rayleigh Pressure - ARM Site" Height=1.400
Grid          Frame=Yes   Xgrid=No       Ygrid=No 
ContourDef  Label=No  IdealDistance=1  BackGround=transp ForeGround=Undef CFormat="%.3g" Size=1
SurfaceGeometry	 Xmin=1814 Xmax=1843 Ymin=954 Ymax=983 Interpolation=Yes DistanceFactor=1 XYRatio=1
SurfaceLUT          LutNumber=2
AddObject        Surface      
ColorScale	Mode=Linear XStart=30% YStart=115% XEnd=70% YEnd=120% Min=0 Max=255 \
	 Color=Black Position=DownRight NoTick=No CFormat="%.0f" Size=1 \
	 List=0 0 500 500 1050 1050
XTitle        Title="column nbr" Height=1.400
XAxis         Scale=Linear    Min=1814    Max=1843  Delta=-1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.600   Format=""
YTitle        Title="line nbr" Height=2.00
YAxis         Scale=Linear    Min=954    Max=983   Delta=-1   
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.600   Format=""
DrawCell     XStart=1.0000   YStart=0.5000   Width=9.0000   Height=9.0000   Type=Color   Orientation=Portrait  Mode=Margin  

Histogram "DATA/xtract_arm19961205" Ncolumns=7 Ycolumn=7 Nlines=900 LinesToSkip=0 Xmin=0 \
Xmax=1050 ClassSize=20 Cumulative=no YPercent=yes Style=Steps UndefValue=0

PlotTitle     Title="Rayleigh Pressure - ARM Site - histogram" Height=1.400
Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No] 
LineStyle     Curve=1   Style=Solid           Color=Red          LineWidth=3
XTitle        Title="Rayleigh pressure (hPa)" Height=2.00
XAxis         Scale=Linear    Min=0    Max=1050  Delta=-1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.600   Format=""
YTitle        Title=" " Height=2.00
YAxis         Scale=Linear    Min=0    Max=40    Delta=-1   
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.600   Format=""
DrawCell     XStart=1.0000   YStart=10.0000   Width=9.0000   Height=9.0000   Type=Color   Orientation=Portrait  Mode=Margin  


ReadSurface      File="DATA/xtract_arm19961205" Mode=IRREGULAR  \
	Ncolumns=7 Nlines=900  LinesToSkip=0 Xcolumn=3 Ycolumn=2 Zcolumn=6   UndefValue=-8421 \
	DistanceFactor=1 Zmin=0 Zmax=4

PlotTitle     Title="Phase - ARM Site" Height=1.400
Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No] 
ContourDef  Label=No  IdealDistance=1  BackGround=transp ForeGround=Undef CFormat="%.3g" Size=1
SurfaceGeometry Xmin=1814  Xmax=1843 Ymin=954  Ymax=983 Interpolation=Yes DistanceFactor=1 XYRatio=1 
SurfaceLUT          LutNumber=2
AddObject        Surface      [Region Surface Dots Triangles]
ColorScale	Mode=Boxes  XStart=30% YStart=115% XEnd=70% YEnd=120% Min=0 Max=255 \
	Color=Black Position=DownRight NoTick=No CFormat="%.0f" Size=2 \
	List=0 "clear/undet." 1  "liquid" 2  "ice" 3 "mixte"
XTitle        Title="column nbr " Height=2.00
XAxis         Scale=Linear    Min=1814    Max=1843  Delta=-1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.60   Format=""
YTitle        Title="line nbr" Height=2.00
YAxis         Scale=Linear    Min=954    Max=983   Delta=-1   
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.60   Format=""
DrawCell     XStart=11.0000   YStart=0.5000   Width=9.0000   Height=9.0000   Type=Color   Orientation=Portrait  Mode=Margin  

Histogram "DATA/xtract_arm19961205" Ncolumns=7 Ycolumn=6 Nlines=900 LinesToSkip=0 Xmin=0 Xmax=4 Class=0.5 Cumulative=no  YPercent=yes Style=Steps UndefValue=0

PlotTitle     Title="Phase - ARM Site - histogram" Height=1.400
Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No] 
LineStyle     Curve=1   Style=Solid           Color=Red          LineWidth=3
XTitle        Title=" Thermodynamic Cloud Phase  " Height=2.00
XAxis         Scale=Linear    Min=0    Max=4  Delta=-1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.600   Format=""
YTitle        Title=" " Height=2.00
YAxis         Scale=Linear    Min=0    Max=95.8949    Delta=-1   
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.600   Format=""
PlotText     XStart=61.28%  YStart=2.82%   Color=Black Style=Bold  Height=1.00 Angle=0.00  Text="0=clear/undetermined\n1=liquid\n2=ice\n3=mixed"
DrawCell     XStart=11.0000   YStart=10.0000   Width=9.0000   Height=9.0000   Type=Color   Orientation=Portrait  Mode=Margin  

ReadFile     File="DATA/ARM_19961205" Mode=XY  Style=LinePlot  \
	NColumns=6  XColumn=2  YColumn=4  NLines=0  LinesToSkip=0 UndefValue=3.40282e+38

PlotTitle     Title="MMCR Data - altitude" Height=1.400
Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No] 
LineStyle     Curve=1   Style=Solid           Color=Red          LineWidth=4
XTitle        Title="Time UTC" Height=2.00
XAxis         Scale=Linear    Min=1630    Max=1930  Delta=-1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.60   Format=""
YTitle        Title="Cloud top Altitude" Height=2.00
YAxis         Scale=Linear    Min=0    Max=12000    Delta=-1   
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.60   Format=""
DrawCell     XStart=1.0000   YStart=21.0000   Width=9.0000   Height=8.0000   Type=Color   Orientation=Portrait  Mode=Margin  

ReadFile     File="DATA/ARM_19961205" Mode=XY  Style=LinePlot  \
	NColumns=6  XColumn=2  YColumn=6  NLines=0  LinesToSkip=0 UndefValue=3.40282e+38

PlotTitle     Title="MMCR Data - Temperature " Height=1.400
Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No] 
LineStyle     Curve=1   Style=Solid           Color=Red          LineWidth=4
XTitle        Title="Time UTC" Height=2.00
XAxis         Scale=Linear    Min=1630    Max=1930  Delta=-1  
XLabel        LabelStep=-1   Reference=-1   LabelHeight=1.60   Format=""
YTitle        Title="Cloud temperature (kelvin)" Height=2.00
YAxis         Scale=Linear    Min=200    Max=300    Delta=-1   
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.60   Format=""
DrawCell     XStart=11.0000   YStart=21.0000   Width=9.0000   Height=8.0000   Type=Color   Orientation=Portrait  Mode=Margin  

PageBox    XStart=3.7000  YStart=19.0000   Xend=12.6000   YEnd=20.6000 Color=Black Thickness=.05
PageText    XStart=4.0000  YStart=19.5000   Color=Black  Style=Plain  Height=0.4000  Angle=0.00 Text="POLDER data above the ARM site : 19961205 \nRayleigh pressure and thermodynamic cloud phase.\nARM site is located at the image center" 

AddLogo    XStart=0.000 YStart=0.000 XScale=-1.000 YScale=0.000
SendToFile     File="OUT/ARM.ps"  Type=Color   Size=15.0000  Copies=1 Orientation=Portrait
    

ARM.gif



#############################################################

ReadFile      File="DATA/WORLD_MAP.gz" 
ReadFile      File="DATA/Modis01.data"

PlotTitle     Title=" MODIS Land tiling for geolocated products (L2G and L3)" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=No  [Yes | Light | No] 
ScaleToFrame
LineStyle     Curve=1   Style=Solid           Color=Red          Thickness=1
LineStyle     Curve=2   Style=Solid           Color=Blue         Thickness=2

XTitle        Title=" " Height=1.50
XAxis         Scale=Formula Formula="x=x*cosd(y)"    Min=-180    Max=180  Delta=10  Label=No
YTitle        Title="Latitude" Height=1.00
YAxis         Scale=Linear    Min=-90    Max=90    Delta=10   
YLabel        LabelStep=1    Reference=90   LabelHeight=0.50   CFormat="%.0f"


#   ********  Annotations ********  
PlotText     XStart=0.26%  YStart=39.08%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="00"
PlotText     XStart=3.12%  YStart=33.54%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="01"
PlotText     XStart=5.98%  YStart=29.54%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="02"
PlotText     XStart=8.97%  YStart=26.15%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="03"
PlotText     XStart=11.83%  YStart=23.38%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="04"
PlotText     XStart=14.43%  YStart=20.92%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="05"
PlotText     XStart=17.17%  YStart=18.46%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="06"
PlotText     XStart=20.03%  YStart=16.31%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="07"
PlotText     XStart=22.89%  YStart=14.15%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="08"
PlotText     XStart=25.62%  YStart=12.31%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="09"
PlotText     XStart=28.35%  YStart=10.15%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="10"
PlotText     XStart=31.21%  YStart=8.00%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="11"
PlotText     XStart=33.81%  YStart=6.15%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="12"
PlotText     XStart=36.54%  YStart=4.31%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="13"
PlotText     XStart=39.40%  YStart=2.46%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="14"
PlotText     XStart=42.26%  YStart=0.92%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="15"
PlotText     XStart=44.86%  YStart=-0.62%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="16"
PlotText     XStart=47.85%  YStart=-2.14%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="17"
PlotText     XStart=50.85%  YStart=-2.14%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="18"
PlotText     XStart=53.71%  YStart=-0.54%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="19"
PlotText     XStart=56.44%  YStart=1.34%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="20"
PlotText     XStart=59.17%  YStart=2.95%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="21"
PlotText     XStart=61.77%  YStart=4.83%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="22"
PlotText     XStart=64.50%  YStart=6.43%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="23"
PlotText     XStart=67.49%  YStart=8.58%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="24"
PlotText     XStart=70.09%  YStart=10.19%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="25"
PlotText     XStart=72.95%  YStart=12.06%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="26"
PlotText     XStart=75.94%  YStart=14.48%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="27"
PlotText     XStart=78.54%  YStart=16.62%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="28"
PlotText     XStart=81.40%  YStart=19.03%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="29"
PlotText     XStart=84.27%  YStart=21.18%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="30"
PlotText     XStart=86.87%  YStart=23.59%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="31"
PlotText     XStart=89.73%  YStart=26.54%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="32"
PlotText     XStart=92.59%  YStart=29.76%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="33"
PlotText     XStart=95.19%  YStart=33.51%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="34"
PlotText     XStart=98.31%  YStart=39.14%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="35"
PlotText     XStart=49.67%  YStart=1.54%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="00"
PlotText     XStart=49.54%  YStart=7.08%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="01"
PlotText     XStart=48.11%  YStart=12.62%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="02"
PlotText     XStart=46.42%  YStart=17.85%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="03"
PlotText     XStart=44.99%  YStart=23.69%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="04"
PlotText     XStart=43.69%  YStart=29.23%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="05"
PlotText     XStart=42.52%  YStart=34.46%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="06"
PlotText     XStart=42.00%  YStart=40.31%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="07"
PlotText     XStart=42.26%  YStart=45.85%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="08"
PlotText     XStart=43.17%  YStart=51.38%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="09"
PlotText     XStart=43.95%  YStart=56.92%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="10"
PlotText     XStart=45.38%  YStart=62.46%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="11"
PlotText     XStart=46.68%  YStart=68.00%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="12"
PlotText     XStart=47.85%  YStart=73.54%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="13"
PlotText     XStart=49.02%  YStart=79.08%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="14"
PlotText     XStart=49.54%  YStart=84.62%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="15"
PlotText     XStart=49.67%  YStart=90.15%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="16"
PlotText     XStart=49.67%  YStart=95.08%   Color=Blue Style=Bold  Height=0.40 Angle=0.00  Text="17"
#   ********  Annotations: End ********  

DrawCell   XStart=3.00   YStart=4.00   Width=15.00   Height=25.00   Type=Color   Orientation=Landscape

SendToFile     File="OUT/Modis.ps"  Type=Color  
    

Modis01.gif




#############################################################

ReadFile      File="DATA/WORLD_MAP.gz" 
ReadFile      File="DATA/Modis02A.data" 

PlotTitle     Title=" MODIS coverage over USA : 7 granules - Equal-angle projection" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 
ScaleToFrame
LineStyle     Curve=1   Style=Solid           Color=Red          Thickness=1
LineStyle     Curve=2   Style=Solid           Color=Blue         Thickness=4

XTitle        Title="Longitude" Height=1.00
XAxis         Scale=Linear    Min=-180    Max=-29.999  Delta=10  
XLabel        LabelStep=1   Reference=-30   LabelHeight=0.70   CFormat="%.0f"
YTitle        Title="Latitude" Height=1.00
YAxis         Scale=Linear    Min=10    Max=80    Delta=5   
YLabel        LabelStep=2    Reference=90   LabelHeight=0.70   CFormat="%.0f"

DrawCell        XStart=3.  YStart=3.  Width=15.  Height=12.  Type=Color

#############################################################

ReadFile      File="DATA/WORLD_MAP.gz" 
ReadFile      File="DATA/Modis02B.data" 

PlotTitle     Title=" MODIS coverage over USA : Tiles and granules foot prints\n(Sinusoidal projection)" Height=1.00
Grid          Frame=Yes   Xgrid=Yes      Ygrid=Yes  [Yes | Light | No] 
ScaleToFrame
LineStyle     Curve=1   Style=Solid           Color=Red          Thickness=1
LineStyle     Curve=2   Style=Solid           Color=Blue         Thickness=2
LineStyle     Curve=3   Style=Solid           Color=Magenta      Thickness=4

XTitle        Title="Longitude" Height=1.00
XAxis         Scale=Formula Formula="x=x*cosd(y)" Min=-180 Max=-29.99 NewMin=-118.4 NewMax=-9.99   Delta=10  
XLabel        LabelStep=1   Reference=-30   LabelHeight=0.70   CFormat="%.0f"
YTitle        Title="Latitude" Height=1.00
YAxis         Scale=Linear    Min=10    Max=80    Delta=5   
YLabel        LabelStep=2    Reference=90   LabelHeight=0.70   CFormat="%.0f"


#   ********  Annotations ********  
PlotText     XStart=100.48%  YStart=4.07%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="01"
PlotText     XStart=98.22%  YStart=19.86%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="02"
PlotText     XStart=94.18%  YStart=33.25%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="03"
PlotText     XStart=90.31%  YStart=48.56%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="04"
PlotText     XStart=87.08%  YStart=62.68%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="05"
PlotText     XStart=84.81%  YStart=77.03%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="06"
PlotText     XStart=83.20%  YStart=90.91%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="07"
PlotText     XStart=5.01%  YStart=91.15%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="07"
PlotText     XStart=4.85%  YStart=76.79%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="06"
PlotText     XStart=4.85%  YStart=62.68%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="05"
PlotText     XStart=4.85%  YStart=48.09%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="04"
PlotText     XStart=10.50%  YStart=33.01%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="07"
PlotText     XStart=20.03%  YStart=27.51%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="08"
PlotText     XStart=29.40%  YStart=22.01%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="09"
PlotText     XStart=38.45%  YStart=16.99%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="10"
PlotText     XStart=47.33%  YStart=12.44%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="11"
PlotText     XStart=56.87%  YStart=7.18%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="12"
PlotText     XStart=65.91%  YStart=2.39%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="13"
PlotText     XStart=75.12%  YStart=-2.39%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="14"
PlotText     XStart=84.98%  YStart=-4.55%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="15"
PlotText     XStart=94.18%  YStart=-4.55%   Color=Blue Style=Bold  Height=0.70 Angle=0.00  Text="16"
#   ********  Annotations: End ********  

DrawCell        XStart=3.  YStart=16.  Width=15.  Height=11.7 Type=Color

SendToEPSFile     File="OUT/Modis.eps"  Type=Color 
    

Modis02.gif



AddLogo  XStart=27. YStart=4. XScale=.1 YScale=.1

PageText 15.2 2 Black Bold 1 0 "Etude de l'angle de polarisation"
PageText 18 3.0 Black 0.5 0 "Zone : Madagascar"
PageText 18 3.6 Black 0.5 0 "Jour : 12/11/96"
PageText 18 4.2 Black 0.5 0 "Orbite : 3134"
PageText 18 4.8 Black 0.5 0 "Nombre de pixels : 26"
PageText 18 5.4 Black 0.5 0 "Coef. d'Angstr\"om moyen : 1.159"


PageText 18 6 Black 0.5 0 "$t moyen : 0.371"

# Surface
##############
ReadBinSurface File="DATA/Madagascar_12-11-96.float" DataType=Float  Ncolumns=91 Nlines=141 

PlotTitle     "Situation de la sc\`ene observ\'ee" 1.10
Grid          Frame=No    Xgrid=No       Ygrid=No 

SurfaceGeometry [Xmin=0 Xmax=90 Ymin=0 Ymax=140]    DistanceFactor=1 XYRatio=1 Interpolation=No
ContourDef  [Smooth=Yes|No]  BackGround=Transp [White] ForeGround=Undef [Undef|White|Black]\
	      IdealDistance=1 Size=1 CFormat="%.3g"
SurfaceLUT      File="USER_LUTS/rainbow"
SurfaceStretch          Zmin=0 Zmax=0.5 FirstLevel=0 LastLevel=255
ColorScale	Mode=Boxes [|Linear]	XStart=0% YStart=101.5% XEnd=100% YEnd=106% Min=0 Max=255 \ 
	Color=Black Position=DownRight NoTick=No CFormat="%.2f" Size=1.5 \
	List= 0.1 0.10 0.15 0.15 0.2 0.20 0.25 0.25 0.3 0.30 0.35 0.35 0.4 0.40 0.45 0.45 0.5 0.50
AddObject        Surface      [Region Surface Dots Triangles]
PlotBox    38 45 44 51   Black   0  5.0000
NoXLabel
XTitle        " " 1.00
XLimits        0    90
XLabel         -1    0   -1   1.00   ""
YTitle        " " 1.00
NoYLabel
YLimits        0    140
YLabel         -1    0   -1   1.00   ""
DrawCell 0.2 0.2 7.3 7 Color


#Graphe 1 a
##############

ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 7 0 0 3.40282e+38
ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 34 0 0 3.40282e+38
ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 37 0 0 3.40282e+38

Grid          Frame=Yes   Xgrid=Light       Ygrid=Light  [Yes | Light | No]
PlotTitle     "Valeurs de Q \`a 865 nm\n" 1.10
LineStyle      1   NoLine   Red   1
MarkStyle      1   cross   5
LineStyle      2   NoLine   Forest   1
MarkStyle      2   cross   5
LineStyle      3   NoLine   violet   1
MarkStyle      3   cross   5
XTitle        "Angle azimutal" 1.50
XLabel         -1    -1   -1   1.00   ""
YTitle        "\nLuminance" 1.50
YLabel         -1    -1   -1   1.00   ""
#   ********  Legend drawing ********
PlotMark     2.5% -5.82%   cross   Red  5
PlotText     4% -7.35%   Black Stand  1.50 0.00"Q^{mesures}"
PlotMark     17.5% -5.82%   cross  Forest  5
PlotText     19% -7.35%   Black Stand  1.50 0.00"Q^{mod\`ele}_{sol noir}"
PlotMark     32.5% -5.82%   cross  violet  5
PlotText     34% -7.35%   Black Stand  1.50 0.00"Q^{II}_{a\'erosols}"
#   ********  Legend drawing end ********
DrawCell 0.7 7 7. 6.5 Color


# Graphe 1 b
##############

#ReadFile  FileName [Style]  Columns  XColumn  YColumn  Lines  LinesToSkip MissingValue
ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 8 0 0 3.40282e+38
ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 35 0 0 3.40282e+38

ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 38 0 0 3.40282e+38
Grid          Frame=Yes   Xgrid=Light       Ygrid=Light  [Yes | Light | No]
PlotTitle     "Valeurs de U \`a 865 nm\n" 1.10
LineStyle      1   NoLine   Red   1
MarkStyle      1   cross   5
LineStyle      2   NoLine   Forest   1
MarkStyle      2   cross   5
LineStyle      3   NoLine   violet   1
MarkStyle      3   cross   5
XTitle        "Angle azimutal" 1.50
XLabel         -1    -1   -1   1.00   ""
YTitle        "\nLuminance" 1.50
YLabel         -1    -1   -1   1.00   ""
#   ********  Legend drawing ********
PlotMark     2.5% -5.82%   cross   Red  5
PlotText     4% -7.35%   Black Stand  1.50 0.00"U^{mesures}"
PlotMark     17.5% -5.82%   cross  Forest  5
PlotText     19% -7.35%   Black Stand  1.50 0.00"U^{mod\`ele}_{sol noir}"
PlotMark     32.5% -5.82%   cross  violet  5
PlotText     34% -7.35%   Black Stand  1.50 0.00"U^{II}_{a\'erosols}"
#   ********  Legend drawing end ********
DrawCell 0.7 13.6 7. 6.5 Color


# Graphe 2 a
##############

ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 9 0 0 3.40282e+38
ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 45 0 0 3.40282e+38

ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 37 0 0 3.40282e+38
Grid          Frame=Yes   Xgrid=Light       Ygrid=Light  [Yes | Light | No]
PlotTitle     "Taux de polarisation sign\'ee\n" 1.10
LineStyle      1   NoLine   Red   1
MarkStyle      1   cross   5
LineStyle      2   NoLine   Blue   1
MarkStyle      2   cross   5
LineStyle      3   NoLine   Forest   1
MarkStyle      3   cross   5
XTitle        "Angle azimutal" 1.50
XLabel         -1    -1   -1   1.00   ""
YTitle        "\nPolarisation (%)" 1.50
YLabel         -1    -1   -1   1.00   ""
#   ********  Legend drawing ********
PlotMark     2.5% -5.82%   cross   Red  5
PlotText     4% -7.35%   Black Stand  1.50 0.00"L^{mesures}"
PlotMark     17.5% -5.82%   cross  Forest  5
PlotText     19% -7.35%   Black Stand  1.50 0.00"L^{I}_{a\'erosols}"
PlotMark     32.5% -5.82%   cross  violet  5
PlotText     34% -7.35%   Black Stand  1.50 0.00"L^{II}_{a\'erosols}"
#   ********  Legend drawing end ********
DrawCell 8.0 7 7. 6.5 Color


# Graphe 2 b
##############

ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 8 0 0 3.40282e+38
ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 47 0 0 3.40282e+38

ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 39 0 0 3.40282e+38
Grid          Frame=Yes   Xgrid=No       Ygrid=Light  [Yes | Light | No]
PlotTitle     "Valeurs des angles de polarisation [0,90]\n" 1.10
LineStyle      1   NoLine   Red   1
MarkStyle      1   cross   5
LineStyle      2   NoLine   Blue   1
MarkStyle      2   cross   5
LineStyle      3   NoLine   Forest   1
MarkStyle      3   cross   5
XTitle        "Angle azimutal" 1.50
XLabel         -1    -1   -1   1.00   ""
YAxis         Scale=Formula Formula="(90*(sign(y-90)+1)-sign(y-90)*y)*2" NewMin=0 NewMax=180    Min=0    Max=180    Delta=-1
#   ********  Annotations ******** 
PlotAxis  Location=LEFT   Scale=Linear  Min=0  Max=90  Delta=15  \
	Color=Black  Thickness=1 Title="\nAngle de polarisation"  TitleHeight=1.50\
	LabelStep=-1 Reference=0  LabelHeight=1.00 CFormat="%2.f"
PlotAxis  Location=Right   Scale=Linear  Min=0  Max=90  Delta=15  \
	Color=Black  Thickness=1 Title=""  TitleHeight=1.50\
	LabelStep=-1 Reference=0  LabelHeight=1.00 CFormat="%2.f"
#   ********  Legend drawing ********
PlotMark     2.5% -5.82%   cross   Red  5
PlotText     4% -7.35%   Black Stand  1.50 0.00"L^{mesures}"
PlotMark     17.5% -5.82%   cross  Forest  5
PlotText     19% -7.35%   Black Stand  1.50 0.00"L^{I}_{a\'erosols}"
PlotMark     32.5% -5.82%   cross  violet  5
PlotText     34% -7.35%   Black Stand  1.50 0.00"L^{II}_{a\'erosols}"
#   ********  Legend drawing end ********
DrawCell 14.5 7 7. 6.5 Color


#Graphe 2 c
##############

Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=8 Nlines=-1 LinesToSkip=0 \
	Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38
Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=47 Nlines=-1 LinesToSkip=0\
	Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38
Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=39 Nlines=-1 LinesToSkip=0 \
	Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38
PlotTitle     Title="Histogramme des angles de polarisation\n" Height=1.10
Grid          Frame=Yes   Xgrid=Light       Ygrid=No  [Yes | Light | No]
#ScaleToFrame
LineStyle     Curve=3   Style=Solid           Color=Forest       Thickness=6
LineStyle     Curve=2   Style=Solid           Color=Blue         Thickness=4
LineStyle     Curve=1   Style=Solid           Color=Red          Thickness=2
XTitle        Title="Angle de polarisation" Height=1.50
XAxis         Scale=Linear    Min=0    Max=180  Delta=15
XLabel        LabelStep=1   Reference=-1   LabelHeight=1.00   CFormat="%.0f^o"
YTitle        Title="" Height=0
YAxis         Scale=Linear    Min=-1    Max=-1  Delta=10
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.00   CFormat="%2.f%%"
#   ********  Legend drawing ********
PlotLine     XStart=2.00% YStart=-5.10%  XEnd=5% YEnd=-5.10%  Color=Red  Style=solid  Thickness=6
PlotText     XStart=6% YStart=-7.34%   Color=Black Style=Stand  Height=1.50 Angle=0.00 Text="L^{mesures}"
PlotLine     XStart=18.00% YStart=-5.10%  XEnd=21% YEnd=-5.10%  Color=Blue  Style=solid  Thickness=3
PlotText     XStart=22% YStart=-7.34%   Color=Black Style=Stand  Height=1.50 Angle=0.00 Text="L^{I}_{a\'erosols}"
PlotLine     XStart=34.00% YStart=-5.10%  XEnd=37% YEnd=-5.10%  Color=Violet  Style=solid  Thickness=3
PlotText     XStart=38% YStart=-7.34%   Color=Black Style=Stand  Height=1.50 Angle=0.00 Text="L^{II}_{a\'erosols}"
#   ********  Legend drawing end ********
DrawCell 21.7 7 7.35 6.5 Color


# Graphe 3 a
##############

ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 37 0 0 3.40282e+38
ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 41 0 0 3.40282e+38
Grid          Frame=Yes   Xgrid=Light       Ygrid=Light  [Yes | Light | No]
PlotTitle     "Taux de polarisation sign\'ee\n" 1.10
LineStyle      1   NoLine   Forest   1
MarkStyle      1   cross   5
LineStyle      2   NoLine   Violet   1
MarkStyle      2   cross   5
XTitle        "Angle azimutal" 1.50
XLabel         -1    -1   -1   1.00   ""
YTitle        "\nPolarisation (%)" 1.50
YLabel         -1    -1   -1   1.00   ""
#   ********  Legend drawing ********
PlotMark     2.5% -5.82%   cross   Red  5
PlotText     4% -7.35%   Black Stand  1.50 0.00"L^{II}_{a\'erosols}"
PlotMark     17.5% -5.82%   cross  Forest  5
PlotText     19% -7.35%   Black Stand  1.50 0.00"L^{mod\`ele}_{sol noir}"
#   ********  Legend drawing end ********
DrawCell 8.0 13.6 7. 6.5 Color


# Graphe 3 b
##############

ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 39 0 0 3.40282e+38
ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 43 0 0 3.40282e+38

Grid          Frame=Yes   Xgrid=No       Ygrid=Light  [Yes | Light | No]
PlotTitle     "Valeurs des angles de polarisation [0,90]\n" 1.10
LineStyle      1   NoLine   Forest   1
MarkStyle      1   cross   5
LineStyle      2   NoLine   Violet   1
MarkStyle      2   cross   5
XTitle        "Angle azimutal" 1.50
XLabel         -1    -1   -1   1.00   ""
YAxis         Scale=Formula Formula="(90*(sign(y-90)+1)-sign(y-90)*y)*2" \
	NewMin=0 NewMax=180    Min=0    Max=90    Delta=-1
#   ********  Annotations ******** 
PlotAxis  Location=LEFT   Scale=Linear  Min=0  Max=90  Delta=15  \
	Color=Black  Thickness=1 Title="\nAngle de polarisation"  TitleHeight=1.50\
	LabelStep=-1 Reference=-1  LabelHeight=1.00 CFormat="%2.f"
PlotAxis  Location=Right   Scale=Linear  Min=0  Max=90  Delta=15  \
	Color=Black  Thickness=1 Title=""  TitleHeight=1.50\
	LabelStep=-1 Reference=0  LabelHeight=1.00 CFormat="%2.f"
#   ********  Legend drawing ********
PlotMark     2.5% -5.82%   cross   Red  5
PlotText     4% -7.35%   Black Stand  1.50 0.00"L^{II}_{a\'erosols}"
PlotMark     17.5% -5.82%   cross  Forest  5
PlotText     19% -7.35%   Black Stand  1.50 0.00"L^{mod\`ele}_{sol noir}"
#   ********  Legend drawing ********
DrawCell 14.5 13.6 7.4 6.5 Color


# Graphe 3 c
##############

Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=39 Nlines=-1 LinesToSkip=0 \
	Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38
Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=43 Nlines=-1 LinesToSkip=0 \
	Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38
PlotTitle     Title="Histogramme des angles de polarisation\n" Height=1.10
Grid          Frame=Yes   Xgrid=Light       Ygrid=No  [Yes | Light | No]
#ScaleToFrame
LineStyle     Curve=1   Style=Solid           Color=Forest          Thickness=6
LineStyle     Curve=2   Style=Solid           Color=Violet         Thickness=4
XTitle        Title="Angle de polarisation" Height=1.50
XAxis         Scale=Linear    Min=0    Max=180  Delta=15
XLabel        LabelStep=1   Reference=-1   LabelHeight=1.00   CFormat="%.0f^o"
YTitle        Title="" Height=0
YAxis         Scale=Linear    Min=-1    Max=-1  Delta=10
YLabel        LabelStep=-1    Reference=-1   LabelHeight=1.00   CFormat="%2.f%%"
#   ********  Legend drawing ********
PlotLine     XStart=2.00% YStart=-5.10%  XEnd=5% YEnd=-5.10%  Color=Forest  Style=solid  Thickness=6
PlotText     XStart=6% YStart=-7.34%   Color=Black Style=Stand  Height=1.50 Angle=0.00 Text="L^{II}_{a\'erosols}"
PlotLine     XStart=18.00% YStart=-5.10%  XEnd=21% YEnd=-5.10%  Color=Violet  Style=solid  Thickness=3
PlotText     XStart=22% YStart=-7.34%   Color=Black Style=Stand  Height=1.50 Angle=0.00 Text="L^{mod\`ele}_{sol noir}"
#   ********  Legend drawing end ********
DrawCell 21.7 13.6 7.35 6.5 Color


# Polar
##############

ReadFile "DATA/tempo_graf_position" RoTeta ScatterPlot 0  3 5 0 0 3.40282e+38
ReadFile "DATA/tempo_graf_position" RoTeta ScatterPlot 0  4 2 0 0 3.40282e+38
PlotTitle     "G\'eom\'etrie de la sc\`ene observ\'ee" 1.25
LineStyle      1   NoLine   Red   1
MarkStyle      1   Bigdot   1
LineStyle      2   NoLine   Blue   1
MarkStyle      2   Cross   1
XLimits        -90    90
XLabel         -1    -1   -1   1.00   ""
YLimits        -90    90
YLabel         -1    -1   -1   1.00   ""
Circular 0 0 90 0 0
Zenithal -8421 15 0 1 1 1 Black
Azimuthal 15 0 1 1 1 0 0 Black
#   ********  Legend drawing ********
PlotMark     -1.65% 8.57%   Bigdot   Red  1
PlotText     -0.15% 7.04%   Black Stand  1.50 0.00 " Soleil"
PlotMark     -1.65% 13.62%   Bigdot   Blue  1
PlotText     -0.15% 12.09%   Black Stand  1.50 0.00 " Satellite"
#   ********  Legend drawing end ********
DrawCell 8 0.2 6.4 7 Color


SendToFile Orientation=Landscape File="OUT/psy_P1L1TBG1003134BD_1.ps"
    

psy_P1L1TBG1003134BD_1.gif



AddLogo     XStart=1.000 YStart=3.500 XScale=0.100 YScale=0.100

#############################################################

ReadFile      File="DATA/eucrex.data"

PlotTitle     Title="EUCREX MISSION 204 (April 17, 1994)" Height=0.70
Grid          Frame=Yes   Xgrid=No       Ygrid=No  [Yes | Light | No] 
ScaleToFrame
LineStyle     Curve=1   Style=Solid           Color=Red          Thickness=3
LineStyle     Curve=2   Style=Solid           Color=Blue         Thickness=6
LineStyle     Curve=3   Style=Solid           Color=Blue         Thickness=6
LineStyle     Curve=4   Style=Solid           Color=Blue         Thickness=6
LineStyle     Curve=5   Style=Solid           Color=Blue         Thickness=6
LineStyle     Curve=6   Style=Solid           Color=Blue         Thickness=6
LineStyle     Curve=7   Style=Solid           Color=Black        Thickness=5
LineStyle     Curve=8   Style=Solid           Color=Black        Thickness=5
LineStyle     Curve=9   Style=Solid           Color=Black        Thickness=5

XTitle        Title="LONGITUDE" Height=1.00
XAxis         Scale=Linear    Min=-6.5    Max=-1.5  Delta=0.25  
XLabel        LabelStep=4   Reference=-6.5   LabelHeight=1.00   CFormat="%1.1f^o"
YTitle        Title="LATITUDE" Height=1.00
YAxis         Scale=Linear    Min=47    Max=50    Delta=0.25   
YLabel        LabelStep=4    Reference=47   LabelHeight=1.00   CFormat="%2.0f^o"


#   ********  Annotations ********  
PlotText     XStart=84.43%  YStart=27.22%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="Jersey"
PlotText     XStart=39.59%  YStart=3.55%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="ENGLISH CHANNEL"
PlotText     XStart=63.79%  YStart=90.73%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="Belle-Ile"
PlotBox      XStart=87.99%  YStart=87.57%  XEnd=89.12% YEnd=88.76%   Color=Black   Style=Solid  Thickness=1
PlotText     XStart=71.86%  YStart=61.14%   Color=Black Style=Plain  Height=1.20 Angle=0.00  Text="BRITTANY"
PlotText     XStart=42.03%  YStart=50.10%   Color=Black Style=Plain  Height=0.80 Angle=0.00  Text="Brest-Guipavas"
PlotText     XStart=48.78%  YStart=62.52%   Color=Black Style=Plain  Height=0.80 Angle=0.00  Text="Quimper"
PlotText     XStart=86.87%  YStart=84.22%   Color=Black Style=Plain  Height=0.80 Angle=0.00  Text="St Nazaire"
PlotText     XStart=9.01%  YStart=85.40%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="ATLANTIC\n OCEAN\n \n"
PlotText     XStart=17.45%  YStart=50.69%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="Ouessant"
PlotBox      XStart=48.59%  YStart=64.89%  XEnd=50.09% YEnd=66.07%   Color=Black   Style=Solid  Thickness=1
PlotBox      XStart=40.15%  YStart=52.86%  XEnd=42.03% YEnd=54.04%   Color=Black   Style=Solid  Thickness=1
PlotText     XStart=29.83%  YStart=53.65%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="M"
PlotText     XStart=2.06%  YStart=35.31%   Color=Black Style=Plain  Height=1.00 Angle=0.00  Text="O"
#   ********  Annotations: End ********  

DrawCell   XStart=2.0000   YStart=14.0000   Width=16.0000   Height=14.0000

#############################################################

#   ********  Page annotations ********  
PageText    XStart=5.0000  YStart=3.5000   Color=Red  Style=Bold  Height=0.7000  \
	Text="EUCREX'94 :\n\nEuropean Cloud Radiation Experiment" 
PageText    XStart=6.0000  YStart=7.0000   Color=Black  Style=Plain  Height=0.7000  \
	Text="FALCON (above the cloud) :\n\n   - Microphysical measurements\n   - POLDER downward viewing\n   - Fluxes SW and LW" 
PageText    XStart=6.0000  YStart=11.5000   Color=Black  Style=Plain  Height=0.7000  \
	Text="ARAT (below the cloud):\n\n   - Lidar upward viewing\n   - Radiometer upward\n   - Fluxes SW and LW" 
#   ********  Page annotations: End ********  

SendToFile     File="OUT/eucrex.ps"  Type=Color  
    

eucrex.gif

Annexe B
Exemples de sorties graphiques

Les fichiers de commandes ci-après ont été créés par des utilisateurs de Mgraph .

inversion.gif

astex.gif

MSBermuda.gif

lum_pol.gif

Pinatubo.gif

polder.gif

HIRSall_07km.gif

figure_month.gif

**********************************************************

AUTEURS

Gonzalez L.                 Deroo C.
Laboratoire d'Optique Atmosphérique
Université des Sciences et Technologies de Lille
U.F.R. de Physique Fondamentale
59655 Villeneuve d'Ascq Cedex
France
Email : sphinx@loa.univ-lille1.fr

Mgraph est disponible sur:
http://www-loa.univ-lille1.fr/Mgraph/

Les auteurs tiennent à remercier :

Dr Descloitres J. pour sa contribution à la mise au point du logiciel
et plus particulièrement à ses développements
dans la partie traitement des surfaces.

Dr. J.R. Shewchuk pour ses développements sur :
"Triangle: Engineering a 2D Quality Mesh Generator
and Delaunay Triangulator," First Workshop
on Applied Computational Geometry, ACM, May 1996. [*]


File translated from TEX by TTH, version 2.72.
On 3 Apr 2001, 11:48.